04 Apr, 2020

1 commit

  • Pull SPDX updates from Greg KH:
    "Here are three SPDX patches for 5.7-rc1.

    One fixes up the SPDX tag for a single driver, while the other two go
    through the tree and add SPDX tags for all of the .gitignore files as
    needed.

    Nothing too complex, but you will get a merge conflict with your
    current tree, that should be trivial to handle (one file modified by
    two things, one file deleted.)

    All three of these have been in linux-next for a while, with no
    reported issues other than the merge conflict"

    * tag 'spdx-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx:
    ASoC: MT6660: make spdxcheck.py happy
    .gitignore: add SPDX License Identifier
    .gitignore: remove too obvious comments

    Linus Torvalds
     

30 Mar, 2020

1 commit


26 Mar, 2020

1 commit

  • When cfg80211_update_assoc_bss_entry() is called, there is a
    verification that the BSS channel actually changed. As some APs use
    CSA also for bandwidth changes, this would result with a kernel
    warning.

    Fix this by removing the WARN_ON().

    Signed-off-by: Ilan Peer
    Signed-off-by: Luca Coelho
    Link: https://lore.kernel.org/r/iwlwifi.20200326150855.96316ada0e8d.I6710376b1b4257e5f4712fc7ab16e2b638d512aa@changeid
    Signed-off-by: Johannes Berg

    Ilan Peer
     

25 Mar, 2020

2 commits

  • Add SPDX License Identifier to all .gitignore files.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Greg Kroah-Hartman

    Masahiro Yamada
     
  • The new opmode notification used this attribute with a u8, when
    it's documented as a u32 and indeed used in userspace as such,
    it just happens to work on little-endian systems since userspace
    isn't doing any strict size validation, and the u8 goes into the
    lower byte. Fix this.

    Cc: stable@vger.kernel.org
    Fixes: 466b9936bf93 ("cfg80211: Add support to notify station's opmode change to userspace")
    Signed-off-by: Johannes Berg
    Link: https://lore.kernel.org/r/20200325090531.be124f0a11c7.Iedbf4e197a85471ebd729b186d5365c0343bf7a8@changeid
    Signed-off-by: Johannes Berg

    Johannes Berg
     

20 Mar, 2020

7 commits

  • The long if chain of interface types is hard to read,
    especially now with the additional condition after it.
    Use a switch statement to clarify this code.

    Signed-off-by: Johannes Berg
    Link: https://lore.kernel.org/r/20200320113834.2c51b9e8e341.I3fa5dc3f7d3cb1dbbd77191d764586f7da993f3f@changeid
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • Drivers that trigger roaming need to know the lifetime of the configured
    PMKSA for deciding whether to trigger the full or PMKSA cache based
    authentication. The configured PMKSA is invalid after the PMK lifetime
    has expired and must not be used after that and the STA needs to
    disassociate if the PMK expires. Hence the STA is expected to refresh
    the PMK with a full authentication before this happens (e.g., when
    reassociating to a new BSS the next time or by performing EAPOL
    reauthentication depending on the AKM) to avoid unnecessary
    disconnection.

    The PMK reauthentication threshold is the percentage of the PMK lifetime
    value and indicates to the driver to trigger a full authentication roam
    (without PMKSA caching) after the reauthentication threshold time, but
    before the PMK timer has expired. Authentication methods like SAE need
    to be able to generate a new PMKSA entry without having to force a
    disconnection after this threshold timeout. If no roaming occurs between
    the reauthentication threshold time and PMK lifetime expiration,
    disassociation is still forced.

    The new attributes for providing these values correspond to the dot11
    MIB variables dot11RSNAConfigPMKLifetime and
    dot11RSNAConfigPMKReauthThreshold.

    This type of functionality is already available in cases where user
    space component is in control of roaming. This commit extends that same
    capability into cases where parts or all of this functionality is
    offloaded to the driver.

    Signed-off-by: Veerendranath Jakkam
    Signed-off-by: Jouni Malinen
    Link: https://lore.kernel.org/r/20200312235903.18462-1-jouni@codeaurora.org
    Signed-off-by: Johannes Berg

    Veerendranath Jakkam
     
  • Sometimes, userspace is able to detect that a peer silently lost its
    state (like, if the peer reboots). wpa_supplicant does this for IBSS-RSN
    by registering for auth/deauth frames, but when it detects this, it is
    only able to remove the encryption keys of the peer and close its port.

    However, the kernel also hold other state about the station, such as BA
    sessions, probe response parameters and the like. They also need to be
    resetted correctly.

    This patch adds the NL80211_EXT_FEATURE_DEL_IBSS_STA feature flag
    indicating the driver accepts deleting stations in IBSS mode, which
    should send a deauth and reset the state of the station, just like in
    mesh point mode.

    Signed-off-by: Nicolas Cavallari
    Link: https://lore.kernel.org/r/20200305135754.12094-1-cavallar@lri.fr
    [preserve -EINVAL return]
    Signed-off-by: Johannes Berg

    Nicolas Cavallari
     
  • Pass the AP's HE operation element to the driver.

    Signed-off-by: Shaul Triebitz
    Signed-off-by: Luca Coelho
    Link: https://lore.kernel.org/r/20200131111300.891737-18-luca@coelho.fi
    Signed-off-by: Johannes Berg

    Shaul Triebitz
     
  • Add support for requesting that the ranging measurement will use
    the trigger-based / non trigger-based flow instead of the EDCA based
    flow.

    Signed-off-by: Avraham Stern
    Signed-off-by: Luca Coelho
    Link: https://lore.kernel.org/r/20200131111300.891737-2-luca@coelho.fi
    Signed-off-by: Johannes Berg

    Avraham Stern
     
  • This patch adds support for disabling pre-auth rx over the nl80211 control
    port for mac80211.

    Signed-off-by: Markus Theil
    Link: https://lore.kernel.org/r/20200312091055.54257-3-markus.theil@tu-ilmenau.de
    [fix indentation slightly, squash feature enablement]
    Signed-off-by: Johannes Berg

    Markus Theil
     
  • If the nl80211 control port is used before this patch, pre-auth frames
    (0x88c7) are send to userspace uncoditionally. While this enables userspace
    to only use nl80211 on the station side, it is not always useful for APs.
    Furthermore, pre-auth frames are ordinary data frames and not related to
    the control port. Therefore it should for example be possible for pre-auth
    frames to be bridged onto a wired network on AP side without touching
    userspace.

    For backwards compatibility to code already using pre-auth over nl80211,
    this patch adds a feature flag to disable this behavior, while it remains
    enabled by default. An additional ext. feature flag is added to detect this
    from userspace.

    Thanks to Jouni for pointing out, that pre-auth frames should be handled as
    ordinary data frames.

    Signed-off-by: Markus Theil
    Link: https://lore.kernel.org/r/20200312091055.54257-2-markus.theil@tu-ilmenau.de
    Signed-off-by: Johannes Berg

    Markus Theil
     

13 Mar, 2020

1 commit


11 Mar, 2020

3 commits


28 Feb, 2020

1 commit


25 Feb, 2020

1 commit

  • …m/linux/kernel/git/jberg/mac80211-next

    Johannes Berg says:

    ====================
    A new set of changes:
    * lots of small documentation fixes, from Jérôme Pouiller
    * beacon protection (BIGTK) support from Jouni Malinen
    * some initial code for TID configuration, from Tamizh chelvam
    * I reverted some new API before it's actually used, because
    it's wrong to mix controlled port and preauth
    * a few other cleanups/fixes
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     

24 Feb, 2020

9 commits

  • This patch adds support to configure per TID RTSCTS control
    configuration to enable/disable through the
    NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL attribute.

    Signed-off-by: Tamizh chelvam
    Link: https://lore.kernel.org/r/1579506687-18296-5-git-send-email-tamizhr@codeaurora.org
    Signed-off-by: Johannes Berg

    Tamizh chelvam
     
  • This patch adds support to configure per TID AMPDU control
    configuration to enable/disable aggregation through the
    NL80211_TID_CONFIG_ATTR_AMPDU_CTRL attribute.

    Signed-off-by: Tamizh chelvam
    Link: https://lore.kernel.org/r/1579506687-18296-4-git-send-email-tamizhr@codeaurora.org
    Signed-off-by: Johannes Berg

    Tamizh chelvam
     
  • This patch adds support to configure per TID retry configuration
    through the NL80211_TID_CONFIG_ATTR_RETRY_SHORT and
    NL80211_TID_CONFIG_ATTR_RETRY_LONG attributes. This TID specific
    retry configuration will have more precedence than phy level
    configuration.

    Signed-off-by: Tamizh chelvam
    Link: https://lore.kernel.org/r/1579506687-18296-3-git-send-email-tamizhr@codeaurora.org
    [rebase completely on top of my previous API changes]
    Signed-off-by: Johannes Berg

    Tamizh chelvam
     
  • Make some changes to the TID-config API:
    * use u16 in nl80211 (only, and restrict to using 8 bits for now),
    to avoid issues in the future if we ever want to use higher TIDs.
    * reject empty TIDs mask (via netlink policy)
    * change feature advertising to not use extended feature flags but
    have own mechanism for this, which simplifies the code
    * fix all variable names from 'tid' to 'tids' since it's a mask
    * change to cfg80211_ name prefixes, not ieee80211_
    * fix some minor docs/spelling things.

    Change-Id: Ia234d464b3f914cdeab82f540e018855be580dce
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • Add the new NL80211_CMD_SET_TID_CONFIG command to support
    data TID specific configuration. Per TID configuration is
    passed in the nested NL80211_ATTR_TID_CONFIG attribute.

    This patch adds support to configure per TID noack policy
    through the NL80211_TID_CONFIG_ATTR_NOACK attribute.

    Signed-off-by: Tamizh chelvam
    Link: https://lore.kernel.org/r/1579506687-18296-2-git-send-email-tamizhr@codeaurora.org
    Signed-off-by: Johannes Berg

    Tamizh chelvam
     
  • We use that here, and do seem to get it through some recursive
    include, but better include it explicitly.

    Signed-off-by: Johannes Berg
    Link: https://lore.kernel.org/r/20200224093814.1b9c258fec67.I45ac150d4e11c72eb263abec9f1f0c7add9bef2b@changeid
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • IEEE P802.11-REVmd/D3.0 adds support for protecting Beacon frames using
    a new set of keys (BIGTK; key index 6..7) similarly to the way
    group-addressed Robust Management frames are protected (IGTK; key index
    4..5). Extend cfg80211 and nl80211 to allow the new BIGTK to be
    configured. Add an extended feature flag to indicate driver support for
    the new key index values to avoid array overflows in driver
    implementations and also to indicate to user space when this
    functionality is available.

    Signed-off-by: Jouni Malinen
    Link: https://lore.kernel.org/r/20200222132548.20835-2-jouni@codeaurora.org
    Signed-off-by: Johannes Berg

    Jouni Malinen
     
  • These were helpful while working with extensions to NL80211_CMD_NEW_KEY,
    so add more explicit error reporting for additional cases that can fail
    while that command is being processed.

    Signed-off-by: Jouni Malinen
    Link: https://lore.kernel.org/r/20200222132548.20835-1-jouni@codeaurora.org
    Signed-off-by: Johannes Berg

    Jouni Malinen
     
  • This reverts commit 8c3ed7aa2b9ef666195b789e9b02e28383243fa8.

    As Jouni points out, there's really no need for this, since the
    RSN pre-authentication frames are normal data frames, not port
    control frames (locally).

    We can still revert this now since it hasn't actually gone beyond
    -next.

    Fixes: 8c3ed7aa2b9e ("nl80211: add src and dst addr attributes for control port tx/rx")
    Signed-off-by: Johannes Berg
    Link: https://lore.kernel.org/r/20200224101910.b746e263287a.I9eb15d6895515179d50964dec3550c9dc784bb93@changeid
    Signed-off-by: Johannes Berg

    Johannes Berg
     

22 Feb, 2020

1 commit


21 Feb, 2020

4 commits

  • rdev->sched_scan_req_list maybe traversed using list_for_each_entry_rcu
    outside an RCU read-side critical section but under the protection
    of rtnl_mutex.

    Hence, add corresponding lockdep expression to silence false-positive
    warnings, and harden RCU lists.

    Signed-off-by: Amol Grover
    Link: https://lore.kernel.org/r/20200219091102.10709-1-frextrite@gmail.com
    Signed-off-by: Johannes Berg

    Amol Grover
     
  • We may end up with a NULL reg_rule after the loop in
    handle_channel_custom() if the bandwidth didn't fit,
    check if this is the case and bail out if so.

    Signed-off-by: Johannes Berg
    Link: https://lore.kernel.org/r/20200221104449.3b558a50201c.I4ad3725c4dacaefd2d18d3cc65ba6d18acd5dbfe@changeid
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • If nl80211_parse_he_obss_pd() fails, we leak the previously
    allocated ACL memory. Free it in this case.

    Fixes: 796e90f42b7e ("cfg80211: add support for parsing OBBS_PD attributes")
    Signed-off-by: Johannes Berg
    Link: https://lore.kernel.org/r/20200221104142.835aba4cdd14.I1923b55ba9989c57e13978f91f40bfdc45e60cbd@changeid
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • Trivial cleanup, so that all bridge port-specific code can be found in
    one go.

    CC: Johannes Berg
    CC: Roopa Prabhu
    CC: Nikolay Aleksandrov
    Signed-off-by: Julian Wiedmann
    Reviewed-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Julian Wiedmann
     

17 Feb, 2020

1 commit


14 Feb, 2020

1 commit


07 Feb, 2020

5 commits

  • When using control port over nl80211 in AP mode with
    pre-authentication, APs need to forward frames to other
    APs defined by their MAC address. Before this patch,
    pre-auth frames reaching user space over nl80211 control
    port have no longer any information about the dest attached,
    which can be used for forwarding to a controller or injecting
    the frame back to a ethernet interface over a AF_PACKET
    socket.
    Analog problems exist, when forwarding pre-auth frames from
    AP -> STA.

    This patch therefore adds the NL80211_ATTR_DST_MAC and
    NL80211_ATTR_SRC_MAC attributes to provide more context
    information when forwarding.
    The respective arguments are optional on tx and included on rx.
    Therefore unaware existing software is not affected.

    Software which wants to detect this feature, can do so
    by checking against:
    NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_MAC_ADDRS

    Signed-off-by: Markus Theil
    Link: https://lore.kernel.org/r/20200115125522.3755-1-markus.theil@tu-ilmenau.de
    [split into separate cfg80211/mac80211 patches]
    Signed-off-by: Johannes Berg

    Markus Theil
     
  • To support Pre Association Security Negotiation (PASN) while already
    associated to one AP, allow user space to register to Rx
    authentication frames, so that the user space logic would be able to
    receive/handle authentication frames from a different AP as part of
    PASN.

    Note that it is expected that user space would intelligently register
    for Rx authentication frames, i.e., only when PASN is used and
    configure a match filter only for PASN authentication algorithm, as
    otherwise the MLME functionality of mac80211 would be broken.

    Additionally, since some versions of the user space daemons wrongly
    register to all types of authentication frames (which might result in
    unexpected behavior) allow such registration if the request is for a
    specific authentication algorithm number.

    Signed-off-by: Ilan Peer
    Signed-off-by: Luca Coelho
    Link: https://lore.kernel.org/r/20200131114529.894206-1-luca@coelho.fi
    Signed-off-by: Johannes Berg

    Ilan Peer
     
  • When preparing ethtool drvinfo, check if wiphy driver is defined
    before dereferencing it. Driver may not exist, e.g. if wiphy is
    attached to a virtual platform device.

    Signed-off-by: Sergey Matyukevich
    Link: https://lore.kernel.org/r/20200203105644.28875-1-sergey.matyukevich.os@quantenna.com
    Signed-off-by: Johannes Berg

    Sergey Matyukevich
     
  • 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.

    Signed-off-by: Veerendranath Jakkam
    Link: https://lore.kernel.org/r/20200126203032.21934-1-vjakkam@codeaurora.org
    Signed-off-by: Johannes Berg

    Veerendranath Jakkam
     
  • The regulatory domain might forbid HE operation. Certain regulatory
    domains may restrict it for specific channels whereas others may do it
    for the whole regulatory domain.

    Add an option to indicate it in the channel flag.

    Signed-off-by: Haim Dreyfuss
    Signed-off-by: Luca Coelho
    Link: https://lore.kernel.org/r/20200121081213.733757-1-luca@coelho.fi
    Signed-off-by: Johannes Berg

    Haim Dreyfuss
     

29 Jan, 2020

1 commit

  • Pull networking updates from David Miller:

    1) Add WireGuard

    2) Add HE and TWT support to ath11k driver, from John Crispin.

    3) Add ESP in TCP encapsulation support, from Sabrina Dubroca.

    4) Add variable window congestion control to TIPC, from Jon Maloy.

    5) Add BCM84881 PHY driver, from Russell King.

    6) Start adding netlink support for ethtool operations, from Michal
    Kubecek.

    7) Add XDP drop and TX action support to ena driver, from Sameeh
    Jubran.

    8) Add new ipv4 route notifications so that mlxsw driver does not have
    to handle identical routes itself. From Ido Schimmel.

    9) Add BPF dynamic program extensions, from Alexei Starovoitov.

    10) Support RX and TX timestamping in igc, from Vinicius Costa Gomes.

    11) Add support for macsec HW offloading, from Antoine Tenart.

    12) Add initial support for MPTCP protocol, from Christoph Paasch,
    Matthieu Baerts, Florian Westphal, Peter Krystad, and many others.

    13) Add Octeontx2 PF support, from Sunil Goutham, Geetha sowjanya, Linu
    Cherian, and others.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1469 commits)
    net: phy: add default ARCH_BCM_IPROC for MDIO_BCM_IPROC
    udp: segment looped gso packets correctly
    netem: change mailing list
    qed: FW 8.42.2.0 debug features
    qed: rt init valid initialization changed
    qed: Debug feature: ilt and mdump
    qed: FW 8.42.2.0 Add fw overlay feature
    qed: FW 8.42.2.0 HSI changes
    qed: FW 8.42.2.0 iscsi/fcoe changes
    qed: Add abstraction for different hsi values per chip
    qed: FW 8.42.2.0 Additional ll2 type
    qed: Use dmae to write to widebus registers in fw_funcs
    qed: FW 8.42.2.0 Parser offsets modified
    qed: FW 8.42.2.0 Queue Manager changes
    qed: FW 8.42.2.0 Expose new registers and change windows
    qed: FW 8.42.2.0 Internal ram offsets modifications
    MAINTAINERS: Add entry for Marvell OcteonTX2 Physical Function driver
    Documentation: net: octeontx2: Add RVU HW and drivers overview
    octeontx2-pf: ethtool RSS config support
    octeontx2-pf: Add basic ethtool support
    ...

    Linus Torvalds