summaryrefslogtreecommitdiff
path: root/include/uapi/linux/nl80211.h (follow)
Commit message (Collapse)AuthorAge
* Merge tag 'LA.UM.8.4.r1-06200-8x98.0' of ↵Michael Bestas2020-12-09
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://source.codeaurora.org/quic/la/kernel/msm-4.4 into lineage-17.1-caf-msm8998 * tag 'LA.UM.8.4.r1-06200-8x98.0' of https://source.codeaurora.org/quic/la/kernel/msm-4.4: crypto: Fix possible stack out of bound error ASoC: sdm660_cdc: Fix ear_pa_gain control soc: qcom: service-locator: Free PD list after client use cfg80211: Enhance the AKM advertizement to support per interface msm: kgsl: Don't wait for room in context queue when context is invalidated msm: kgsl: Don't allow re-importing memory owned by KGSL usb: dwc3: ep0: Return from handle_status if ep0_delegate_req succeeds scsi: ufs: Flush exception event before suspend msm: ipa: Fix deleting the routing entries mm-camera2:isp2: Add support for 12bit-plain16 raw format Revert "ipv6: defrag: drop non-last frags smaller than min mtu" usb: dwc3: ep0: Return from handle_status if ep0_delegate_req succeeds Change-Id: Ifcb5f033b250feaa41c4916bbbec757334e3429e
| * cfg80211: Enhance the AKM advertizement to support per interfaceSrikanth Marepalli2020-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit ab4dfa20534e ("cfg80211: Allow drivers to advertise supported AKM suites") introduces the support to advertize supported AKMs to userspace. This needs an enhancement to advertize the AKM support per interface type, specifically for the cfg80211-based drivers that implement SME and use different mechanisms to support the AKM's for each interface type (e.g., the support for SAE, OWE AKM's take different paths for such drivers on STA/AP mode). This commit aims the same and enhances the earlier mechanism of advertizing the AKMs per wiphy. Add new nl80211 attributes and data structure to provide supported AKMs per interface type to userspace. The AKMs advertized in akm_suites are default capabilities if not advertized for a specific interface type in iftype_akm_suites. Link: https://lore.kernel.org/r/20200126203032.21934-1-vjakkam@codeaurora.org Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git Git-commit: d6039a3416f7af37c04f22c411f120ad46f51663 Signed-off-by: Johannes Berg <johannes.berg@intel.com> CRs-Fixed: 2632444 Change-Id: I6f33a6b27c38f7be09e9740fccaf750a2c148c31 Signed-off-by: Srikanth Marepalli <marepall@codeaurora.org>
* | BACKPORT: cfg80211: remove enum ieee80211_bandJohannes Berg2020-02-02
|/ | | | | | | | | | | | | | This enum is already perfectly aliased to enum nl80211_band, and the only reason for it is that we get IEEE80211_NUM_BANDS out of it. There's no really good reason to not declare the number of bands in nl80211 though, so do that and remove the cfg80211 one. Change-Id: Ifc56e6297146c9095432b757fabd0c463d7cc583 Signed-off-by: Johannes Berg <johannes.berg@intel.com> Bug: 62057517 Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Link: https://android.googlesource.com/kernel/msm/+/56f601d6bb9e51c3c8a79a5f40878b8d1e6ff481 Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
* cfg80211/nl80211: Offload OWE processing to user space in AP modeSunil Dutt2019-04-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This interface allows the host driver to offload OWE processing to user space. This intends to support OWE (Opportunistic Wireless Encryption) AKM by the drivers that implement SME but rely on the user space for the cryptographic/OWE processing in AP mode. Such drivers are not capable of processing/deriving the DH IE. A new NL80211 command - NL80211_CMD_UPDATE_OWE_INFO is introduced to send the request/event between the host driver and user space. Driver shall provide the OWE info (MAC address and DH IE) of the peer to user space for cryptographic processing of the DH IE through the event. Accordingly, the user space shall update the OWE info/DH IE to the driver. Following is the sequence in AP mode for OWE authentication. Driver passes the OWE info obtained from the peer in the Association Request to the user space through the event cfg80211_update_owe_info_event. User space shall process the OWE info received and generate new OWE info. This OWE info is passed to the driver through NL80211_CMD_UPDATE_OWE_INFO request. Driver eventually uses this OWE info to send the Association Response to the peer. This OWE info in the command interface carries the IEs that include PMKID of the peer if the PMKSA is still valid or an updated DH IE for generating a new PMKSA with the peer. Signed-off-by: Liangwei Dong <liangwei@codeaurora.org> Signed-off-by: Sunil Dutt <usdutt@codeaurora.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: cb74e9775871f8c82a1297cf76209f10ab5bbe3d Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git Change-Id: I3b0391cd6da1ff033f4d8383013deb4ad5ecbe64 CRs-Fixed: 2414077 Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org> Signed-off-by: Min Liu <minliu@codeaurora.org>
* Revert "cfg80211/nl80211: Offload OWE processing to user space"Min Liu2019-04-22
| | | | | | | | | | This reverts commit f57fa308b0d8330580a932dcc5c460e9d2352284. bssid in cfg80211_update_owe_info need to be changed to peer. Change-Id: I7cf248926fe1b86c3a75d5441955ce4cb60c91f7 CRs-Fixed: 2414077 Signed-off-by: Min Liu <minliu@codeaurora.org>
* cfg80211/nl80211: Offload OWE processing to user spaceSunil Dutt2019-03-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This interface allows the host driver to offload OWE processing to user space. This intends to support OWE/Enhanced Open AKM by the host drivers that implement SME but rely on the user space for the crypotographic/OWE processing.Such drivers are not capable of processing/deriving the DH IE's. This interface acts as both the event from the driver to userspace and a command from userspace to the driver. Host driver shall use the event to notify the OWE info of the peer to the userspace for the cryptographic processing of the DH ie's. Accordingly, the userspace shall update the OWE info/DH ie's to the host driver corresponding to the peer. Above sequence aims for the AP mode where the event carries the OWE info of the peer(STA) obtained in the Assoc Request. The request interface from the userspace shall update the OWE info to the host driver, which is used to send the Assoc response to the peer. This OWE info in the command interface shall contain the ie's which either include the pmkid of the peer if the PMKSA is still valid or an updated DH ie's for generating a new PMKSA with the peer. Change-Id: Id5a2e800bdae1ea31a20a062d012cc33e5a3c6a3 CRs-Fixed: 2414077 Signed-off-by: Liangwei Dong <liangwei@codeaurora.org> Signed-off-by: Sunil Dutt <usdutt@codeaurora.org>
* nl80211: Allow set/del pmksa operations for APLiangwei Dong2019-02-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Host drivers may offload authentication to the user space through the commit ("cfg80211: Authentication offload to user space in AP mode"). This interface can be used to implement SAE by having the userspace do authentication/PMKID key derivation and driver handle the association. A step ahead, this interface can get further optimized if the PMKID is passed to the host driver and also have it respond to the association request by the STA on a valid PMKID. This commit enables the userspace to pass the PMKID to the host drivers through the set/del pmksa operations in AP mode. Set/Del pmksa is now restricted to STA/P2P client mode only and thus the drivers might not expect them in any other(AP) mode. This commit also introduces a feature flag NL80211_EXT_FEATURE_AP_PMKSA_CACHING (johannes: renamed) to maintain the backward compatibility of such an expectation by the host drivers. These operations are allowed in AP mode only when the drivers advertize the capability through this flag. Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org> [rename flag to NL80211_EXT_FEATURE_AP_PMKSA_CACHING] Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 6c900360e7c0df6a4846ac97d7b548d72cd801b0 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git CRs-Fixed: 2396953 Change-Id: I967ec287edb1c685614e965fe67a32e35035ff11 Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
* cfg80211: Sync nl80211 commands/feature with upstreamLiangwei Dong2019-02-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update header for nl80211 nl80211_ext_feature_index and nl80211_commands enum from master branch of upstream repoistory git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git which includes the following changes (with changes to extract "enum" value change only): 91b5ab62892 cfg80211: support 4-way handshake offloading for WPA/WPA2-PSK 3a00df5707b cfg80211: support 4-way handshake offloading for 802.1X 2d23d0736e3 nl80211: add OCE scan and capability flags 65026002d69 nl80211: add an option to allow MFP without requiring it 5037a00992e nl80211: Introduce scan flags to emphasize requested scan behavior 13cf6dec93e cfg80211/nl80211: add DFS offload flag 2576a9ace47 nl80211: Implement TX of control port frames 9c06602b1b9 cfg80211: clarify frames covered by average ACK signal report 52539ca89f3 cfg80211: Expose TXQ stats and parameters to userspace 2e076f19909 nl80211: add scan features for improved scan privac 2b815b04dfe nl80211: Add CAN_REPLACE_PTK0 API 81e54d08d9d cfg80211: support FTM responder configuration/statistics 36647055b37 cfg80211: Add airtime statistics and settings 466b9936bf9 cfg80211: Add support to notify station's opmode change to userspace 6a671a50f81 nl80211: Add CMD_CONTROL_PORT_FRAME API 9bb7e0f24e7 cfg80211: add peer measurement with FTM initiator API 30c63115e20 nl80211: Add support to notify radar event info received from STA CRs-Fixed: 2396941 Change-Id: I976a9177b9dd705c6131a3a9a62d64432e3d715a Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
* cfg80211: Authentication offload to user space in AP modeSrinivas Dasari2019-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 40cbfa90218b ("cfg80211/nl80211: Optional authentication offload to userspace")' introduced authentication offload to user space by the host drivers in station mode. This commit extends the same for the AP mode too. Extend NL80211_ATTR_EXTERNAL_AUTH_SUPPORT to also claim the support of external authentication from the user space in AP mode. A new flag parameter is introduced in cfg80211_ap_settings to intend the same while "start ap". Host driver to use NL80211_CMD_FRAME interface to transmit and receive the authentication frames to / from the user space. Host driver to indicate the flag NL80211_RXMGMT_FLAG_EXTERNAL_AUTH while sending the authentication frame to the user space. This intends to the user space that the driver wishes it to process the authentication frame for certain protocols, though it had initially advertised the support for SME functionality. User space shall accordingly do the authentication and indicate its final status through the command NL80211_CMD_EXTERNAL_AUTH. Allow the command even if userspace doesn't include the attribute NL80211_ATTR_SSID for AP interface. Host driver shall continue with the association sequence and indicate the STA connection status through cfg80211_new_sta. To facilitate the host drivers in AP mode for matching the pmkid by the stations during the association, NL80211_CMD_EXTERNAL_AUTH is also enhanced to include the pmkid to drivers after the authentication. This pmkid can also be used in the STA mode to include in the association request. Also modify nl80211_external_auth to not mandate SSID in AP mode. [remove useless nla_get_flag() usage] Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: fe4943702c850fa07f963eaa6f1530d9d4c2da78 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git Change-Id: I6341814aa334e25f803953fcb855a439644eb1a9 CRs-Fixed: 2396191 Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org> Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
* cfg80211/nl80211: Optional authentication offload to userspaceSrinivas Dasari2019-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This interface allows the host driver to offload the authentication to user space. This is exclusively defined for host drivers that do not define separate commands for authentication and association, but rely on userspace SME (e.g., in wpa_supplicant for the ~WPA_DRIVER_FLAGS_SME case) for the authentication to happen. This can be used to implement SAE without full implementation in the kernel/firmware while still being able to use NL80211_CMD_CONNECT with driver-based BSS selection. Host driver sends NL80211_CMD_EXTERNAL_AUTH event to start/abort authentication to the port on which connect is triggered and status of authentication is further indicated by user space to host driver through the same command response interface. User space entities advertise this capability through the NL80211_ATTR_EXTERNAL_AUTH_SUPP flag in the NL80211_CMD_CONNECT request. Host drivers shall look at this capability to offload the authentication. Signed-off-by: Srinivas Dasari <dasaris@qti.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> [add socket connection ownership check] Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 40cbfa90218bc570a7959b436b9d48a18c361041 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git CRs-Fixed: 2182553 Change-Id: Id925dd82d9a9c719b32aac2de75b6ad001f1a958 [dasaris@codeaurora.org: merging with msm-specific changes] Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org> Signed-off-by: Jiachao Wu <jiacwu@codeaurora.org> Signed-off-by: Min Liu <minliu@codeaurora.org>
* cfg80211: Updated nl80211_commands to be in sync with upstreamSrinivas Dasari2019-01-04
| | | | | | | | | Update nl80211_commands to be in sync with upstream. This is needed to add new commands. Change-Id: Ib6b71e3f66560b035377c7bc0c115490b04f5c4f CRs-Fixed: 2182553 Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org>
* cfg80211: NL80211_ATTR_SOCKET_OWNER support for CMD_CONNECTAndrew Zaborowski2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | Disconnect or deauthenticate when the owning socket is closed if this flag is supplied to CMD_CONNECT or CMD_ASSOCIATE. This may be used to ensure userspace daemon doesn't leave an unmanaged connection behind. In some situations it would be possible to account for that, to some degree, in the deamon restart code or in the up/down scripts without the use of this attribute. But there will be systems where the daemon can go away for varying periods without a warning due to local resource management. Signed-off-by: Andrew Zaborowski <andrew.zaborowski@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 36a554cec119bbd20c4ec0cb96bd4712d124bfea Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/ mac80211-next.git Change-Id: Ic09ee323fc6215059d5c2572ba3e77c56addad32 CRs-Fixed: 2182553 Signed-off-by: Srinivas Dasari <dasaris@codeaurora.org> Signed-off-by: Jiachao Wu <jiacwu@codeaurora.org> Signed-off-by: Min Liu <minliu@codeaurora.org>
* Merge android-4.4.137 (a2e2217) into msm-4.4Srinivasarao P2018-06-27
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/tmp-a2e2217 Linux 4.4.137 net: metrics: add proper netlink validation net: phy: broadcom: Fix bcm_write_exp() rtnetlink: validate attributes in do_setlink() team: use netdev_features_t instead of u32 net/mlx4: Fix irq-unsafe spinlock usage qed: Fix mask for physical address in ILT entry packet: fix reserve calculation net: usb: cdc_mbim: add flag FLAG_SEND_ZLP net/packet: refine check for priv area size netdev-FAQ: clarify DaveM's position for stable backports isdn: eicon: fix a missing-check bug ipv4: remove warning in ip_recv_error ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds enic: set DMA mask to 47 bit dccp: don't free ccid2_hc_tx_sock struct in dccp_disconnect() bnx2x: use the right constant brcmfmac: Fix check for ISO3166 code drm: set FMODE_UNSIGNED_OFFSET for drm files xfs: fix incorrect log_flushed on fsync kconfig: Avoid format overflow warning from GCC 8.1 mmap: relax file size limit for regular files mmap: introduce sane default mmap limits tpm: self test failure should not cause suspend to fail tpm: do not suspend/resume if power stays on ANDROID: Update arm64 ranchu64_defconfig Linux 4.4.136 sparc64: Fix build warnings with gcc 7. mm: fix the NULL mapping case in __isolate_lru_page() fix io_destroy()/aio_complete() race Kbuild: change CC_OPTIMIZE_FOR_SIZE definition drm/i915: Disable LVDS on Radiant P845 hwtracing: stm: fix build error on some arches stm class: Use vmalloc for the master map scsi: scsi_transport_srp: Fix shost to rport translation MIPS: prctl: Disallow FRE without FR with PR_SET_FP_MODE requests MIPS: ptrace: Fix PTRACE_PEEKUSR requests for 64-bit FGRs iio:kfifo_buf: check for uint overflow dmaengine: usb-dmac: fix endless loop in usb_dmac_chan_terminate_all() i2c: rcar: revoke START request early i2c: rcar: check master irqs before slave irqs i2c: rcar: don't issue stop when HW does it automatically i2c: rcar: init new messages in irq i2c: rcar: refactor setup of a msg i2c: rcar: remove spinlock i2c: rcar: remove unused IOERROR state i2c: rcar: rework hw init i2c: rcar: make sure clocks are on when doing clock calculation tcp: avoid integer overflows in tcp_rcv_space_adjust() irda: fix overly long udelay() ASoC: Intel: sst: remove redundant variable dma_dev_name rtlwifi: rtl8192cu: Remove variable self-assignment in rf.c cfg80211: further limit wiphy names to 64 bytes selinux: KASAN: slab-out-of-bounds in xattr_getsecurity tracing: Fix crash when freeing instances with event triggers Input: elan_i2c_smbus - fix corrupted stack Revert "ima: limit file hash setting by user to fix and log modes" xfs: detect agfl count corruption and reset agfl sh: New gcc support USB: serial: cp210x: use tcflag_t to fix incompatible pointer type powerpc/64s: Clear PCR on boot arm64: lse: Add early clobbers to some input/output asm operands FROMLIST: f2fs: run fstrim asynchronously if runtime discard is on goldfish: pipe: ANDROID: address must be written as __pa(x), not x goldfish: pipe: ANDROID: add missing check for memory allocated goldfish: pipe: ANDROID: remove redundant blank lines Update arch/x86/configs/x86_64_ranchu_defconfig ANDROID: x86_64_cuttlefish_defconfig: Enable F2FS ANDROID: Update x86_64_cuttlefish_defconfig FROMLIST: f2fs: early updates queued for v4.18-rc1 Change-Id: I314254168cd5ad06a7c6bca2fa68c8a6ae6c257d Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
| * cfg80211: further limit wiphy names to 64 bytesEric Biggers2018-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 814596495dd2b9d4aab92d8f89cf19060d25d2ea upstream. wiphy names were recently limited to 128 bytes by commit a7cfebcb7594 ("cfg80211: limit wiphy names to 128 bytes"). As it turns out though, this isn't sufficient because dev_vprintk_emit() needs the syslog header string "SUBSYSTEM=ieee80211\0DEVICE=+ieee80211:$devname" to fit into 128 bytes. This triggered the "device/subsystem name too long" WARN when the device name was >= 90 bytes. As before, this was reproduced by syzbot by sending an HWSIM_CMD_NEW_RADIO command to the MAC80211_HWSIM generic netlink family. Fix it by further limiting wiphy names to 64 bytes. Reported-by: syzbot+e64565577af34b3768dc@syzkaller.appspotmail.com Fixes: a7cfebcb7594 ("cfg80211: limit wiphy names to 128 bytes") Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | Merge android-4.4.133 (3f51ea2) into msm-4.4Srinivasarao P2018-05-31
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/tmp-3f51ea2 Linux 4.4.133 x86/kexec: Avoid double free_page() upon do_kexec_load() failure hfsplus: stop workqueue when fill_super() failed cfg80211: limit wiphy names to 128 bytes gpio: rcar: Add Runtime PM handling for interrupts time: Fix CLOCK_MONOTONIC_RAW sub-nanosecond accounting dmaengine: ensure dmaengine helpers check valid callback scsi: zfcp: fix infinite iteration on ERP ready list scsi: sg: allocate with __GFP_ZERO in sg_build_indirect() scsi: libsas: defer ata device eh commands to libata s390: use expoline thunks in the BPF JIT s390: extend expoline to BC instructions s390: move spectre sysfs attribute code s390/kernel: use expoline for indirect branches s390/lib: use expoline for indirect branches s390: move expoline assembler macros to a header s390: add assembler macros for CPU alternatives ext2: fix a block leak tcp: purge write queue in tcp_connect_init() sock_diag: fix use-after-free read in __sk_free packet: in packet_snd start writing at link layer allocation net: test tailroom before appending to linear skb btrfs: fix reading stale metadata blocks after degraded raid1 mounts btrfs: fix crash when trying to resume balance without the resume flag Btrfs: fix xattr loss after power failure ARM: 8772/1: kprobes: Prohibit kprobes on get_user functions ARM: 8770/1: kprobes: Prohibit probing on optimized_callback ARM: 8769/1: kprobes: Fix to use get_kprobe_ctlblk after irq-disabed tick/broadcast: Use for_each_cpu() specially on UP kernels ARM: 8771/1: kprobes: Prohibit kprobes on do_undefinstr efi: Avoid potential crashes, fix the 'struct efi_pci_io_protocol_32' definition for mixed mode s390: remove indirect branch from do_softirq_own_stack s390/qdio: don't release memory in qdio_setup_irq() s390/cpum_sf: ensure sample frequency of perf event attributes is non-zero s390/qdio: fix access to uninitialized qdio_q fields mm: don't allow deferred pages with NEED_PER_CPU_KM powerpc/powernv: Fix NVRAM sleep in invalid context when crashing procfs: fix pthread cross-thread naming if !PR_DUMPABLE proc read mm's {arg,env}_{start,end} with mmap semaphore taken. tracing/x86/xen: Remove zero data size trace events trace_xen_mmu_flush_tlb{_all} cpufreq: intel_pstate: Enable HWP by default signals: avoid unnecessary taking of sighand->siglock mm: filemap: avoid unnecessary calls to lock_page when waiting for IO to complete during a read mm: filemap: remove redundant code in do_read_cache_page proc: meminfo: estimate available memory more conservatively vmscan: do not force-scan file lru if its absolute size is small powerpc: Don't preempt_disable() in show_cpuinfo() cpuidle: coupled: remove unused define cpuidle_coupled_lock powerpc/powernv: remove FW_FEATURE_OPALv3 and just use FW_FEATURE_OPAL powerpc/powernv: Remove OPALv2 firmware define and references powerpc/powernv: panic() on OPAL < V3 spi: pxa2xx: Allow 64-bit DMA ALSA: control: fix a redundant-copy issue ALSA: hda: Add Lenovo C50 All in one to the power_save blacklist ALSA: usb: mixer: volume quirk for CM102-A+/102S+ usbip: usbip_host: fix bad unlock balance during stub_probe() usbip: usbip_host: fix NULL-ptr deref and use-after-free errors usbip: usbip_host: run rebind from exit when module is removed usbip: usbip_host: delete device from busid_table after rebind usbip: usbip_host: refine probe and disconnect debug msgs to be useful kernel/exit.c: avoid undefined behaviour when calling wait4() futex: futex_wake_op, fix sign_extend32 sign bits pipe: cap initial pipe capacity according to pipe-max-size limit l2tp: revert "l2tp: fix missing print session offset info" Revert "ARM: dts: imx6qdl-wandboard: Fix audio channel swap" lockd: lost rollback of set_grace_period() in lockd_down_net() xfrm: fix xfrm_do_migrate() with AEAD e.g(AES-GCM) futex: Remove duplicated code and fix undefined behaviour futex: Remove unnecessary warning from get_futex_key arm64: Add work around for Arm Cortex-A55 Erratum 1024718 arm64: introduce mov_q macro to move a constant into a 64-bit register audit: move calcs after alloc and check when logging set loginuid ALSA: timer: Call notifier in the same spinlock sctp: delay the authentication for the duplicated cookie-echo chunk sctp: fix the issue that the cookie-ack with auth can't get processed tcp: ignore Fast Open on repair mode bonding: do not allow rlb updates to invalid mac tg3: Fix vunmap() BUG_ON() triggered from tg3_free_consistent(). sctp: use the old asoc when making the cookie-ack chunk in dupcook_d sctp: handle two v4 addrs comparison in sctp_inet6_cmp_addr r8169: fix powering up RTL8168h qmi_wwan: do not steal interfaces from class drivers openvswitch: Don't swap table in nlattr_set() after OVS_ATTR_NESTED is found net: support compat 64-bit time in {s,g}etsockopt net_sched: fq: take care of throttled flows before reuse net/mlx4_en: Verify coalescing parameters are in range net: ethernet: sun: niu set correct packet size in skb llc: better deal with too small mtu ipv4: fix memory leaks in udp_sendmsg, ping_v4_sendmsg dccp: fix tasklet usage bridge: check iface upper dev when setting master via ioctl 8139too: Use disable_irq_nosync() in rtl8139_poll_controller() BACKPORT, FROMLIST: fscrypt: add Speck128/256 support cgroup: Disable IRQs while holding css_set_lock Revert "cgroup: Disable IRQs while holding css_set_lock" cgroup: Disable IRQs while holding css_set_lock ANDROID: proc: fix undefined behavior in proc_uid_base_readdir x86: vdso: Fix leaky vdso linker with CC=clang. ANDROID: build: cuttlefish: Upgrade clang to newer version. ANDROID: build: cuttlefish: Upgrade clang to newer version. ANDROID: build: cuttlefish: Fix path to clang. UPSTREAM: dm bufio: avoid sleeping while holding the dm_bufio lock ANDROID: sdcardfs: Don't d_drop in d_revalidate Conflicts: arch/arm64/include/asm/cputype.h fs/ext4/crypto.c fs/ext4/ext4.h kernel/cgroup.c mm/vmscan.c Change-Id: Ic10c5722b6439af1cf423fd949c493f786764d7e Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
| * cfg80211: limit wiphy names to 128 bytesJohannes Berg2018-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit a7cfebcb7594a24609268f91299ab85ba064bf82 upstream. There's currently no limit on wiphy names, other than netlink message size and memory limitations, but that causes issues when, for example, the wiphy name is used in a uevent, e.g. in rfkill where we use the same name for the rfkill instance, and then the buffer there is "only" 2k for the environment variables. This was reported by syzkaller, which used a 4k name. Limit the name to something reasonable, I randomly picked 128. Reported-by: syzbot+230d9e642a85d3fec29c@syzkaller.appspotmail.com Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | cfg80211: Make pre-CAC results valid only for ETSI domainVasanthakumar Thiagarajan2017-11-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DFS requirement for ETSI domain (section 4.7.1.4 in ETSI EN 301 893 V1.8.1) is the only one which explicitly states that once DFS channel is marked as available afer the CAC, this channel will remain in available state even moving to a different operating channel. But the same is not explicitly stated in FCC DFS requirement. Also, Pre-CAC requriements are not explicitly mentioned in FCC requirement. Current implementation in keeping DFS channel in available state is same as described in ETSI domain. For non-ETSI DFS domain, this patch gives a grace period of 2 seconds since the completion of successful CAC before moving the channel's DFS state to 'usable' from 'available' state. The same grace period is checked against the channel's dfs_state_entered timestamp while deciding if a DFS channel is available for operation. There is a new radar event, NL80211_RADAR_PRE_CAC_EXPIRED, reported when DFS channel is moved from available to usable state after the grace period. Also make sure the DFS channel state is reset to usable once the beaconing operation on that channel is brought down (like stop_ap, leave_ibss and leave_mesh) in non-ETSI domain. Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git Git-commit: b35a51c7dd25a823767969e3089542d7478777e9 [svishnoi@codeaurora.org: removed NaN interface type from switch case in net/wireless/chan.c as NaN interface is not supported] Change-Id: Iba19513d1e40fe5da129d6251212c33d1361fec3 Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
* | cfg80211: Add support for FILS shared key authentication offloadVidyullatha Kanchanapally2017-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enhance nl80211 and cfg80211 connect request and response APIs to support FILS shared key authentication offload. The new nl80211 attributes can be used to provide additional information to the driver to establish a FILS connection. Also enhance the set/del PMKSA to allow support for adding and deleting PMKSA based on FILS cache identifier. Add a new feature flag that drivers can use to advertize support for FILS shared key authentication and association in station mode when using their own SME. Change-Id: I75d47301b767e691d6240fd6c20c28b9bfaaa571 Signed-off-by: Vidyullatha Kanchanapally <vkanchan@qti.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: a3caf7440dedd2399f90f27ff11ac390bf03e6c4 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git CRs-Fixed: 2028536 [vidyullatha@codeaurora.org: backport to kernel 4.4 - This commit includes the changes from following commits in include/uapi/linux/nl80211.h to compile for msm-4.4 - 4a4b8169501b18c3450ac735a7e277b24886a651 : cfg80211: Accept multiple RSSI thresholds for CQM] Signed-off-by: Vidyullatha Kanchanapally <vidyullatha@codeaurora.org>
* | cfg80211: Add Fast Initial Link Setup (FILS) auth algsJouni Malinen2017-04-11
| | | | | | | | | | | | | | | | | | | | | | | | This defines authentication algorithms for FILS (IEEE 802.11ai). Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 631810603a20874554b2f17adf42b72d0f15eda5 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git CRs-Fixed: 2028536 Change-Id: I530913c84f2c3e678e83144ac474195184f4dd3b Signed-off-by: Vidyullatha Kanchanapally <vidyullatha@codeaurora.org>
* | cfg80211: Rename SAE_DATA to more generic AUTH_DATAJouni Malinen2017-04-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds defines and nl80211 extensions to allow FILS Authentication to be implemented similarly to SAE. FILS does not need the special rules for the Authentication transaction number and Status code fields, but it does need to add non-IE fields. The previously used NL80211_ATTR_SAE_DATA can be reused for this to avoid having to duplicate that implementation. Rename that attribute to more generic NL80211_ATTR_AUTH_DATA (with backwards compatibility define for NL80211_SAE_DATA). Also document the special rules related to the Authentication transaction number and Status code fiels. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 11b6b5a4ced2f2c76073b97ee08ca0eab8358fde Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git CRs-Fixed: 2028536 Change-Id: Icc8bbdf3530c46048239ca88bfcb8b100a7f0822 Signed-off-by: Vidyullatha Kanchanapally <vidyullatha@codeaurora.org>
* | cfg80211: Specify the reason for connect timeoutPurushottam Kushwaha2017-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enhances the connect timeout API to also carry the reason for the timeout. These reason codes for the connect time out are represented by enum nl80211_timeout_reason and are passed to user space through a new attribute NL80211_ATTR_TIMEOUT_REASON (u32). Signed-off-by: Purushottam Kushwaha <pkushwah@qti.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> [keep gfp_t argument last] Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 3093ebbeabcdddc9a982950052f2151df43c7aa2 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git CRs-Fixed: 2004380 Change-Id: If25dbf99d08d6ee658782fb08bd0ac670e95584a Signed-off-by: Purushottam Kushwaha <pkushwah@codeaurora.org>
* | cfg80211: Allow cfg80211_connect_result() errors to be distinguishedJouni Malinen2017-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the status parameter to cfg80211_connect_result() was documented as using WLAN_STATUS_UNSPECIFIED_FAILURE (1) when the real status code for the failure is not known. This value can be used by an AP (and often is) and as such, user space cannot distinguish between explicitly rejected authentication/association and not being able to even try to associate or not receiving a response from the AP. Add a new inline function, cfg80211_connect_timeout(), to be used when the driver knows that the connection attempt failed due to a reason where connection could not be attempt or no response was received from the AP. The internal functions now allow a negative status value (-1) to be used as an indication of this special case. This results in the NL80211_ATTR_TIMED_OUT to be added to the NL80211_CMD_CONNECT event to allow user space to determine this case was hit. For backwards compatibility, NL80211_STATUS_CODE with the value WLAN_STATUS_UNSPECIFIED_FAILURE is still indicated in the event in such a case. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> [johannes: fix cfg80211_connect_bss() prototype to use int for status, add cfg80211_connect_timeout() to docbook, fix docbook] Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: bf1ecd210541ef5f3a110e88e8ca5d33b4aa5c23 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git CRs-Fixed: 2004380 Change-Id: I43e2a7d588ee86a8470cf72ac0a95daaae569fa0 Signed-off-by: Purushottam Kushwaha <pkushwah@codeaurora.org>
* | cfg80211: Add support to sched scan to report better BSSsvamsi krishna2017-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enhance sched scan to support option of finding a better BSS while in connected state. Firmware scans the medium and reports when it finds a known BSS which has better RSSI than the current connected BSS. New attributes to specify the relative RSSI (compared to the current BSS) are added to the sched scan to implement this. Signed-off-by: vamsi krishna <vamsin@qti.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: bf95ecdba93b98d27ac219e79f773f2074b4ca47 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git CRs-Fixed: 1112378 Change-Id: I0e3cf69ff6e0a73e23080a2d1e8ab9f51bcaba96
* | nl80211: add feature for BSS selection supportArend van Spriel2017-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introducing a new feature that the driver can use to indicate the driver/firmware supports configuration of BSS selection criteria upon CONNECT command. This can be useful when multiple BSS-es are found belonging to the same ESS, ie. Infra-BSS with same SSID. The criteria can then be used to offload selection of a preferred BSS. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Lei Zhang <leizh@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> [move wiphy support check into parse_bss_select()] Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Ashwini Patil<apati@codeaurora.org> Git-commit: 38de03d2a28925b489c11546804e2f5418cc17a4 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git CRs-Fixed: 1112378 Change-Id: I8fe69aab5215fe848c8deab123ecb1561a3b2402
* | cfg80211: Add support for randomizing TA of Public Action framesvamsi krishna2017-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to use a random local address (Address 2 = TA in transmit and the same address in receive functionality) for Public Action frames in order to improve privacy of WLAN clients. Applications fill the random transmit address in the frame buffer in the NL80211_CMD_FRAME command. This can be used only with the drivers that indicate support for random local address by setting the new NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA and/or NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED in ext_features. The driver needs to configure receive behavior to accept frames to the specified random address during the time the frame exchange is pending and such frames need to be acknowledged similarly to frames sent to the local permanent address when this random address functionality is not used. Signed-off-by: vamsi krishna <vamsin@qti.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: ab5bb2d51ba8da4add4612b529968446cdb504b1 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git CRs-Fixed: 1112321 Change-Id: I205d7b4da5bd31af951675aaa77ac1472b73e1f6
* | cfg80211: Add feature flag for Fast Initial Link Setup (FILS) as STAJouni Malinen2017-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | This defines a feature flag that drivers can use to indicate that they support FILS authentication/association (IEEE 802.11ai) when using user space SME (NL80211_CMD_AUTHENTICATE) in station mode. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 60b8084e844814631b57da3d35f272e0ff799ab2 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git CRs-Fixed: 1112321 Change-Id: Ifd67a5fe9959ac96ce04135d55a7ae2ccacd028f
* | Merge "nl80211: Use different attrs for BSSID and random MAC addr in scan req"Linux Build Service Account2016-12-21
|\ \
| * | nl80211: Use different attrs for BSSID and random MAC addr in scan reqVamsi Krishna2016-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NL80211_ATTR_MAC was used to set both the specific BSSID to be scanned and the random MAC address to be used when privacy is enabled. When both the features are enabled, both the BSSID and the local MAC address were getting same value causing Probe Request frames to go with unintended DA. Hence, this has been fixed by using a different NL80211_ATTR_BSSID attribute to set the specific BSSID (which was the more recent addition in cfg80211) for a scan. Backwards compatibility with old userspace software is maintained to some extent by allowing NL80211_ATTR_MAC to be used to set the specific BSSID when scanning without enabling random MAC address use. Scanning with random source MAC address was introduced by commit ad2b26abc157 ("cfg80211: allow drivers to support random MAC addresses for scan") and the issue was introduced with the addition of the second user for the same attribute in commit 818965d39177 ("cfg80211: Allow a scan request for a specific BSSID"). Fixes: 818965d39177 ("cfg80211: Allow a scan request for a specific BSSID") Signed-off-by: Vamsi Krishna <vamsin@qti.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 478b2a3b7faa4c50c54b2bd3a2507405fcf6fad8 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git CRs-Fixed: 1097863 Change-Id: Ib55302c8fc9dbf2a4114a793e17f9b2dc9ade37c
* | | Merge "cfg80211: Add support to update connection parameters"Linux Build Service Account2016-12-21
|\| |
| * | cfg80211: Add support to update connection parametersvamsi krishna2016-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add functionality to update the connection parameters when in connected state, so that driver/firmware uses the updated parameters for subsequent roaming. This is for drivers that support internal BSS selection and roaming. The new command does not change the current association state, i.e., it can be used to update IE contents for future (re)associations without causing an immediate disassociation or reassociation with the current BSS. This commit implements the required functionality for updating IEs for (Re)Association Request frame only. Other parameters can be added in future when required. Signed-off-by: vamsi krishna <vamsin@qti.qualcomm.com> Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 088e8df82f91a24728d49d9532cab7ebdee5117f Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git Change-Id: I184b8e13bc5f7e2ed21e5337673c6ba82cd2f4fe CRs-Fixed: 1097836 [apati@codeaurora.org: backport to 4.4-This commit includes the changes from following commits in include/uapi/linux/nl80211.h to compile for msm-4.4. cb3b7d87652aeb37cfb5295a6157a3280dae10cb : cfg80211: add start / stop NAN commands. a442b761b24b6886f9a4e2ff5f8cb4824c96526b : cfg80211: add add_nan_func / del_nan_func. a5a9dcf291e1e541243878eed2d73a74006fa1f1 : cfg80211: allow the user space to change current NAN configuration. 50bcd31d9992e99c231820f5276e70346cbfbc51 : cfg80211: provide a function to report a match for NAN. ce0ce13a1c89ff8b94b7f8fb32eb4c43e111c82e : cfg80211: configure multicast to unicast for AP interfaces. c6e6a0c8be575c830a97b1942dabeab70f423fe0 : nl80211: Add API to support VHT MU-MIMO air sniffer. 1d76250bd34af86c6498fc51e50cab3bfbbeceaa : nl80211: support beacon report scanning. 7d27a0ba7adc8ef30c2aae7592fce4c162aee4df : cfg80211: Add mesh peer AID setting API. 348bd456699801920a309c66e382380809fbdf41 : cfg80211: Add KEK/nonces for FILS association frames.] Signed-off-by: Ashwini Patil<apati@codeaurora.org>
* | | cfg80211: add checks for beacon rate, extend to meshJohannes Berg2016-12-15
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit added support for specifying the beacon rate for AP mode. Add features checks to this, and extend it to also support the rate configuration for mesh networks. For IBSS it's not as simple due to joining etc., so that's not yet supported. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 8564e38206de2ff005a27c8d7c2ce3869a44f0dd Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git CRs-fixed: 1096202 Change-Id: I3bf27dc2f3f5ee035434da96b3b6caeda29bed7b [pkushwah@codeaurora.org: an additional check for NULL chan in chandef is added before the validation. backport to 4.4-This commit includes the changes from following commits in include/uapi/linux/nl80211.h to compile for msm-4.4. 0c9ca11b1ae8eb16c1b6bbae91991392d2321372 : cfg80211: Add global RRM capability c6e6a0c8be575c830a97b1942dabeab70f423fe0 : nl80211: Add API to support VHT MU-MIMO air sniffer 1d76250bd34af86c6498fc51e50cab3bfbbeceaa : nl80211: support beacon report scanning ] Signed-off-by: Purushottam Kushwaha <pkushwah@codeaurora.org>
* | cfg80211: support virtual interfaces with different beacon intervalsPurushottam Kushwaha2016-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit provides a mechanism for the host drivers to advertise the support for different beacon intervals among the respective interface combinations in a group, through NL80211_IFACE_COMB_BI_MIN_GCD (u32). This value will be compared against GCD of all beaconing interfaces of matching combinations. If the driver doesn't advertise this value, the old behaviour where all beacon intervals must be identical is retained. If it is specified, then any beacon interval for an interface in the interface combination as well as the GCD of all active beacon intervals in the combination must be greater or equal to this value. Signed-off-by: Purushottam Kushwaha <pkushwah@qti.qualcomm.com> [change commit message, some variable names, small other things] Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git Git-commit: 0c317a02ca982ca093e71bf07cb562265ba40032 CRs-fixed: 1025311 Change-Id: Ie432af1fefc79f88ec67d212f8b9880355c4266d Signed-off-by: Purushottam Kushwaha <pkushwah@codeaurora.org> [pkushwah@codeaurora.org: This commit also includes fix for memory leak which was introduced by 0c317a02ca982ca093e71bf07cb562265ba40032 320c975f180b19296f0fd6c5bf2144e633aaba5e: cfg80211: fix possible memory leak in cfg80211_iter_combinations()]
* | cfg80211: Add support for aborting an ongoing scanVidyullatha Kanchanapally2016-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement new functionality for aborting an ongoing scan. Add NL80211_CMD_ABORT_SCAN to the nl80211 interface. After aborting the scan, driver shall provide the scan status by calling cfg80211_scan_done(). Reviewed-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Vidyullatha Kanchanapally <vkanchan@qti.qualcomm.com> Signed-off-by: Sunil Dutt <usdutt@qti.qualcomm.com> [change command to take wdev instead of netdev so that it can be used on p2p-device scans] Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 91d3ab46730379e89e1e908c6f62fbcadb3d8f08 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Change-Id: I071841cfea5b0da72f70032d0d99b05678d3d747 CRs-fixed: 930859
* | cfg80211: Allow a scan request for a specific BSSIDJouni Malinen2016-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows scans for a specific BSSID to be optimized by the user space application by requesting the driver to set the Probe Request frame BSSID field (Address 3) to the specified BSSID instead of the wildcard BSSID. This prevents other APs from replying which reduces airtime need and latency in getting the response from the target AP through. This is an optimization and as such, it is acceptable for some of the drivers not to support the mechanism. If not supported, the wildcard BSSID will be used and more responses may be received. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 0889675a9503f48d1ad01b4eaa202f89469b2b62 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Change-Id: I20cf654661c11880055d022e0c9ec77beab659e8 CRs-fixed: 996660 Signed-off-by: Vidyullatha Kanchanapally <vidyullatha@codeaurora.org>
* | cfg80211: Advertise extended capabilities per interface type to userspaceKanchanapally, Vidyullatha2016-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver extended capabilities may differ for different interface types which the userspace needs to know (for example the fine timing measurement initiator and responder bits might differ for a station and AP). Add a new nl80211 attribute to provide extended capabilities per interface type to userspace. Signed-off-by: Vidyullatha Kanchanapally <vkanchan@qti.qualcomm.com> Reviewed-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 019ae3a918811715192b22c400ac78d54acc26a9 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git CRs-fixed: 1030694 Change-Id: I816b21d8433aea9407a14a8c8a5098701ee53b8c [pkushwah@codeaurora.org: backport to 4.4-This commit includes the changes from following commits in include/uapi/linux/nl80211.h to compile for msm-4.4. 38de03d2a28925b489c11546804e2f5418cc17a4 : nl80211: add feature for BSS selection support. 17b942478643c5a90c06d978479bd326040bfa19 : cfg80211: allow userspace to specify client P2P PS support. 9b95fe59b18bcc891a6c60ae11d725c9c679574b : nl80211: add missing kerneldoc for new *_PAD attributes. 2dad624e6dd65c6048a9bbe0e16559fce182c87c : wireless: use nla_put_u64_64bit().] Signed-off-by: Purushottam Kushwaha <pkushwah@codeaurora.org>
* | cfg80211: basic support for PBSS network typeLior David2016-04-05
|/ | | | | | | | | | | | | | | | | | | | | | | PBSS (Personal Basic Service Set) is a new BSS type for DMG networks. It is similar to infrastructure BSS, having an AP-like entity called PCP (PBSS Control Point), but it has few differences. PBSS support is mandatory for 11ad devices. Add support for PBSS by introducing a new PBSS flag attribute. The PBSS flag is used in the START_AP command to request starting a PCP instead of an AP, and in the CONNECT command to request connecting to a PCP instead of an AP. Change-Id: I9f26a8ff8433268240eb9443befadc0d279a0293 [liord@codeaurora.org: added missing attributes to nl80211.h that were added in upstream kernel before the PBSS attribute, in order to keep the ABI compatible] Signed-off-by: Lior David <liord@codeaurora.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Git-commit: 00807f28573a101dc2833f0075e806b9874f306c Git-repo: https://github.com/kvalo/ath.git CRs-Fixed: 982931 Signed-off-by: Maya Erez <merez@codeaurora.org>
* cfg80211: Add multiple scan plans for scheduled scanAvraham Stern2015-10-13
| | | | | | | | | | | | | | | | | | | | | | | Add the option to configure multiple 'scan plans' for scheduled scan. Each 'scan plan' defines the number of scan cycles and the interval between scans. The scan plans are executed in the order they were configured. The last scan plan will always run infinitely and thus defines only the interval between scans. The maximum number of scan plans supported by the device and the maximum number of iterations in a single scan plan are advertised to userspace so it can configure the scan plans appropriately. When scheduled scan results are received there is no way to know which scan plan is being currently executed, so there is no way to know when the next scan iteration will start. This is not a problem, however. The scan start timestamp is only used for flushing old scan results, and there is no difference between flushing all results received until the end of the previous iteration or the start of the current one, since no results will be received in between. Signed-off-by: Avraham Stern <avraham.stern@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* nl80211: allow BSS data to include CLOCK_BOOTTIME timestampDmitry Shmidt2015-10-13
| | | | | | | | | | | | | | | | | | | For location and connectivity services, userspace would often like to know the time when the BSS was last seen. The current "last seen" value is calculated in a way that makes it less useful, especially if the system suspended in the meantime. Add the ability for the driver to report a real CLOCK_BOOTTIME stamp that can then be reported to userspace (if present). Drivers wishing to use this must be converted to the new API to call cfg80211_inform_bss_data() or cfg80211_inform_bss_frame_data(). They need to ensure the reported value is accurate enough even when the frame might have been buffered in the device (e.g. firmware.) Signed-off-by: Dmitry Shmidt <dimitrysh@google.com> [modified to use struct, inlines] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* cfg80211: change GO_CONCURRENT to IR_CONCURRENT for STAArik Nemtsov2015-05-06
| | | | | | | | | | | | | The GO_CONCURRENT regulatory definition can be extended to station interfaces requesting to IR as part of TDLS off-channel operations. Rename the GO_CONCURRENT flag to IR_CONCURRENT and allow the added use-case. Change internal users of GO_CONCURRENT to use the new definition. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* nl80211: small clarification of the sched_scan delay attributeLuciano Coelho2015-03-30
| | | | | | | Just clarify that the delay is only before the first cycle. Signed-off-by: Luciano Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* cfg80211: Add API to change the indoor regulatory settingIlan peer2015-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the indoor setting configuration assumed that as long as a station interface is connected, the indoor environment setting does not change. However, this assumption is problematic as: - It is possible that a station interface is connected to a mobile AP, e.g., softAP or a P2P GO, where it is possible that both the station and the mobile AP move out of the indoor environment making the indoor setting invalid. In such a case, user space has no way to invalidate the setting. - A station interface disconnection does not necessarily imply that the device is no longer operating in an indoor environment, e.g., it is possible that the station interface is roaming but is still stays indoor. To handle the above, extend the indoor configuration API to allow user space to indicate a change of indoor settings, and allow it to indicate weather it controls the indoor setting, such that: 1. If the user space process explicitly indicates that it is going to control the indoor setting, do not clear the indoor setting internally, unless the socket is released. The user space process should use the NL80211_ATTR_SOCKET_OWNER attribute in the command to state that it is going to control the indoor setting. 2. Reset the indoor setting when restoring the regulatory settings in case it is not owned by a user space process. Based on the above, a user space tool that continuously monitors the indoor settings, i.e., tracking power setting, location etc., can indicate environment changes to the regulatory core. It should be noted that currently user space is the only provided mechanism used to hint to the regulatory core over the indoor/outdoor environment -- while the country IEs do have an environment setting this has been completely ignored by the regulatory core by design for a while now since country IEs typically can contain bogus data. Acked-by: Luis R. Rodriguez <mcgrof@suse.com> Signed-off-by: ArikX Nemtsov <arik@wizery.com> Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* nl80211: prohibit mixing 'any' and regular wowlan triggersJohannes Berg2015-03-04
| | | | | | | | | | | | | | | | | | | | | | | If the device supports waking up on 'any' signal - i.e. it continues operating as usual and wakes up the host on pretty much anything that happens, then it makes no sense to also configure the more restricted WoWLAN mode where the device operates more autonomously but also in a more restricted fashion. Currently only cw2100 supports both 'any' and other triggers, but it seems to be broken as it doesn't configure anything to the device, so we can't currently get into a situation where both even can correctly be configured. This is about to change (Intel devices are going to support both and have different behaviour depending on configuration) so make sure the conflicting modes cannot be configured. (It seems that cw2100 advertises 'any' and 'disconnect' as a means of saying that's what it will always do, but that isn't really the way this API was meant to be used nor does it actually mean anything as 'any' always implies 'disconnect' already, and the driver doesn't change device configuration in any way depending on the settings.) Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* nl80211: add notes about userspace API/ABI modificationsJohannes Berg2015-03-03
| | | | | | | | Add notes about userspace ABI/API modifications, including the fact that we decided that API submissions should come with a driver implementation. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* cfg80211: add VHT support for IBSSJanusz.Dziedzic@tieto.com2015-03-03
| | | | | | | | Add NL80211_EXT_FEATURE_VHT_IBSS flag and VHT support for IBSS. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* nl/mac80211: allow zero plink timeout to disable STA expirationMasashi Honma2015-02-28
| | | | | | | | | | | | | | | | | | | | | | | | Both wpa_supplicant and mac80211 have and inactivity timer. By default wpa_supplicant will be timed out in 5 minutes and mac80211's it is 30 minutes. If wpa_supplicant uses a longer timer than mac80211, it will get unexpected disconnection by mac80211. Using 0xffffffff instead as the configured value could solve this w/o changing the code, but due to integer overflow in the expression used this doesn't work. The expression is: (current jiffies) > (frame Rx jiffies + NL80211_MESHCONF_PLINK_TIMEOUT * 250) On 32bit system, the right side would overflow and be a very small value if NL80211_MESHCONF_PLINK_TIMEOUT is sufficiently large, causing unexpectedly early disconnections. Instead allow disabling the inactivity timer to avoid this situation, by passing the (previously invalid and useless) value 0. Signed-off-by: Masashi Honma <masashi.honma@gmail.com> [reword/rewrap commit log] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* nl80211: don't document per-wiphy interface dumpJohannes Berg2015-01-29
| | | | | | | | | Such a feature doesn't exist and isn't really needed since you probably won't have enough interfaces to make it worthwhile, so just remove that from the documentation. Reported-by: booto [on IRC] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* nl80211: add an attribute to allow delaying the first scheduled scan cycleLuciano Coelho2015-01-23
| | | | | | | | | | The userspace may want to delay the the first scheduled scan or net-detect cycle. Add an optional attribute to the scheduled scan configuration to pass the delay to be (optionally) used by the driver. Signed-off-by: Luciano Coelho <luciano.coelho@intel.com> [add the attribute to the policy to validate it] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* nl80211: Allow set network namespace by fdVadim Kochan2015-01-23
| | | | | | | | Added new NL80211_ATTR_NETNS_FD which allows to set namespace via nl80211 by fd. Signed-off-by: Vadim Kochan <vadim4j@gmail.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* cfg80211: change bandwidth reporting to explicit fieldJohannes Berg2015-01-15
| | | | | | | | | | | | | | | | | | For some reason, we made the bandwidth separate flags, which is rather confusing - a single rate cannot have different bandwidths at the same time. Change this to no longer be flags but use a separate field for the bandwidth ('bw') instead. While at it, add support for 5 and 10 MHz rates - these are reported as regular legacy rates with their real bitrate, but tagged as 5/10 now to make it easier to distinguish them. In the nl80211 API, the flags are preserved, but the code now can also clearly only set a single one of the flags. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* cfg80211: remove 80+80 MHz rate reportingJohannes Berg2015-01-15
| | | | | | | | | | | These rates are treated the same as 160 MHz in the spec, so it makes no sense to distinguish them. As no driver uses them yet, this is also not a problem, just remove them. In the userspace API the field remains reserved to preserve API and ABI. Signed-off-by: Johannes Berg <johannes.berg@intel.com>