Merge tag 'net-5.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 27 May 2021 03:44:49 +0000 (17:44 -1000)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 27 May 2021 03:44:49 +0000 (17:44 -1000)
Pull networking fixes from Jakub Kicinski:
 "Networking fixes for 5.13-rc4, including fixes from bpf, netfilter,
  can and wireless trees. Notably including fixes for the recently
  announced "FragAttacks" WiFi vulnerabilities. Rather large batch,
  touching some core parts of the stack, too, but nothing hair-raising.

  Current release - regressions:

   - tipc: make node link identity publish thread safe

   - dsa: felix: re-enable TAS guard band mode

   - stmmac: correct clocks enabled in stmmac_vlan_rx_kill_vid()

   - stmmac: fix system hang if change mac address after interface
     ifdown

  Current release - new code bugs:

   - mptcp: avoid OOB access in setsockopt()

   - bpf: Fix nested bpf_bprintf_prepare with more per-cpu buffers

   - ethtool: stats: fix a copy-paste error - init correct array size

  Previous releases - regressions:

   - sched: fix packet stuck problem for lockless qdisc

   - net: really orphan skbs tied to closing sk

   - mlx4: fix EEPROM dump support

   - bpf: fix alu32 const subreg bound tracking on bitwise operations

   - bpf: fix mask direction swap upon off reg sign change

   - bpf, offload: reorder offload callback 'prepare' in verifier

   - stmmac: Fix MAC WoL not working if PHY does not support WoL

   - packetmmap: fix only tx timestamp on request

   - tipc: skb_linearize the head skb when reassembling msgs

  Previous releases - always broken:

   - mac80211: address recent "FragAttacks" vulnerabilities

   - mac80211: do not accept/forward invalid EAPOL frames

   - mptcp: avoid potential error message floods

   - bpf, ringbuf: deny reserve of buffers larger than ringbuf to
     prevent out of buffer writes

   - bpf: forbid trampoline attach for functions with variable arguments

   - bpf: add deny list of functions to prevent inf recursion of tracing
     programs

   - tls splice: check SPLICE_F_NONBLOCK instead of MSG_DONTWAIT

   - can: isotp: prevent race between isotp_bind() and
     isotp_setsockopt()

   - netfilter: nft_set_pipapo_avx2: Add irq_fpu_usable() check,
     fallback to non-AVX2 version

  Misc:

   - bpf: add kconfig knob for disabling unpriv bpf by default"

* tag 'net-5.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (172 commits)
  net: phy: Document phydev::dev_flags bits allocation
  mptcp: validate 'id' when stopping the ADD_ADDR retransmit timer
  mptcp: avoid error message on infinite mapping
  mptcp: drop unconditional pr_warn on bad opt
  mptcp: avoid OOB access in setsockopt()
  nfp: update maintainer and mailing list addresses
  net: mvpp2: add buffer header handling in RX
  bnx2x: Fix missing error code in bnx2x_iov_init_one()
  net: zero-initialize tc skb extension on allocation
  net: hns: Fix kernel-doc
  sctp: fix the proc_handler for sysctl encap_port
  sctp: add the missing setting for asoc encap_port
  bpf, selftests: Adjust few selftest result_unpriv outcomes
  bpf: No need to simulate speculative domain for immediates
  bpf: Fix mask direction swap upon off reg sign change
  bpf: Wrap aux data inside bpf_sanitize_info container
  bpf: Fix BPF_LSM kconfig symbol dependency
  selftests/bpf: Add test for l3 use of bpf_redirect_peer
  bpftool: Add sock_release help info for cgroup attach/prog load command
  net: dsa: microchip: enable phy errata workaround on 9567
  ...

1  2 
Documentation/admin-guide/sysctl/kernel.rst
MAINTAINERS
net/smc/smc_ism.c

@@@ -483,11 -483,10 +483,11 @@@ modprob
  ========
  
  The full path to the usermode helper for autoloading kernel modules,
 -by default "/sbin/modprobe".  This binary is executed when the kernel
 -requests a module.  For example, if userspace passes an unknown
 -filesystem type to mount(), then the kernel will automatically request
 -the corresponding filesystem module by executing this usermode helper.
 +by default ``CONFIG_MODPROBE_PATH``, which in turn defaults to
 +"/sbin/modprobe".  This binary is executed when the kernel requests a
 +module.  For example, if userspace passes an unknown filesystem type
 +to mount(), then the kernel will automatically request the
 +corresponding filesystem module by executing this usermode helper.
  This usermode helper should insert the needed module into the kernel.
  
  This sysctl only affects module autoloading.  It has no effect on the
@@@ -1458,11 -1457,22 +1458,22 @@@ unprivileged_bpf_disable
  =========================
  
  Writing 1 to this entry will disable unprivileged calls to ``bpf()``;
- once disabled, calling ``bpf()`` without ``CAP_SYS_ADMIN`` will return
- ``-EPERM``.
+ once disabled, calling ``bpf()`` without ``CAP_SYS_ADMIN`` or ``CAP_BPF``
+ will return ``-EPERM``. Once set to 1, this can't be cleared from the
+ running kernel anymore.
  
- Once set, this can't be cleared.
+ Writing 2 to this entry will also disable unprivileged calls to ``bpf()``,
+ however, an admin can still change this setting later on, if needed, by
+ writing 0 or 1 to this entry.
  
+ If ``BPF_UNPRIV_DEFAULT_OFF`` is enabled in the kernel config, then this
+ entry will default to 2 instead of 0.
+ = =============================================================
+ 0 Unprivileged calls to ``bpf()`` are enabled
+ 1 Unprivileged calls to ``bpf()`` are disabled without recovery
+ 2 Unprivileged calls to ``bpf()`` are disabled
+ = =============================================================
  
  watchdog
  ========
diff --combined MAINTAINERS
@@@ -1578,7 -1578,7 +1578,7 @@@ F:      drivers/clk/sunxi
  ARM/Allwinner sunXi SoC support
  M:    Maxime Ripard <mripard@kernel.org>
  M:    Chen-Yu Tsai <wens@csie.org>
 -R:    Jernej Skrabec <jernej.skrabec@siol.net>
 +R:    Jernej Skrabec <jernej.skrabec@gmail.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git
@@@ -1618,8 -1618,8 +1618,8 @@@ F:      Documentation/devicetree/bindings/so
  F:    sound/soc/meson/
  
  ARM/Amlogic Meson SoC support
 +M:    Neil Armstrong <narmstrong@baylibre.com>
  M:    Kevin Hilman <khilman@baylibre.com>
 -R:    Neil Armstrong <narmstrong@baylibre.com>
  R:    Jerome Brunet <jbrunet@baylibre.com>
  R:    Martin Blumenstingl <martin.blumenstingl@googlemail.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -4138,6 -4138,14 +4138,14 @@@ S:    Odd Fixe
  F:    Documentation/devicetree/bindings/arm/cavium-thunder2.txt
  F:    arch/arm64/boot/dts/cavium/thunder2-99xx*
  
+ CBS/ETF/TAPRIO QDISCS
+ M:    Vinicius Costa Gomes <vinicius.gomes@intel.com>
+ S:    Maintained
+ L:    netdev@vger.kernel.org
+ F:    net/sched/sch_cbs.c
+ F:    net/sched/sch_etf.c
+ F:    net/sched/sch_taprio.c
  CC2520 IEEE-802.15.4 RADIO DRIVER
  M:    Varka Bhadram <varkabhadram@gmail.com>
  L:    linux-wpan@vger.kernel.org
@@@ -5089,7 -5097,7 +5097,7 @@@ S:      Maintaine
  F:    drivers/net/fddi/defza.*
  
  DEINTERLACE DRIVERS FOR ALLWINNER H3
 -M:    Jernej Skrabec <jernej.skrabec@siol.net>
 +M:    Jernej Skrabec <jernej.skrabec@gmail.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
@@@ -5237,7 -5245,7 +5245,7 @@@ DEVICE DIRECT ACCESS (DAX
  M:    Dan Williams <dan.j.williams@intel.com>
  M:    Vishal Verma <vishal.l.verma@intel.com>
  M:    Dave Jiang <dave.jiang@intel.com>
 -L:    linux-nvdimm@lists.01.org
 +L:    nvdimm@lists.linux.dev
  S:    Supported
  F:    drivers/dax/
  
@@@ -5569,7 -5577,6 +5577,6 @@@ F:      drivers/soc/fsl/dpi
  
  DPAA2 ETHERNET DRIVER
  M:    Ioana Ciornei <ioana.ciornei@nxp.com>
- M:    Ioana Radulescu <ruxandra.radulescu@nxp.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    Documentation/networking/device_drivers/ethernet/freescale/dpaa2/ethernet-driver.rst
@@@ -5632,14 -5639,14 +5639,14 @@@ F:   include/linux/power/smartreflex.
  DRM DRIVER FOR ALLWINNER DE2 AND DE3 ENGINE
  M:    Maxime Ripard <mripard@kernel.org>
  M:    Chen-Yu Tsai <wens@csie.org>
 -R:    Jernej Skrabec <jernej.skrabec@siol.net>
 +R:    Jernej Skrabec <jernej.skrabec@gmail.com>
  L:    dri-devel@lists.freedesktop.org
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    drivers/gpu/drm/sun4i/sun8i*
  
  DRM DRIVER FOR ARM PL111 CLCD
 -M:    Eric Anholt <eric@anholt.net>
 +M:    Emma Anholt <emma@anholt.net>
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    drivers/gpu/drm/pl111/
@@@ -5719,7 -5726,7 +5726,7 @@@ T:      git git://anongit.freedesktop.org/dr
  F:    drivers/gpu/drm/tiny/gm12u320.c
  
  DRM DRIVER FOR HX8357D PANELS
 -M:    Eric Anholt <eric@anholt.net>
 +M:    Emma Anholt <emma@anholt.net>
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    Documentation/devicetree/bindings/display/himax,hx8357d.txt
@@@ -6023,7 -6030,7 +6030,7 @@@ M:      Neil Armstrong <narmstrong@baylibre.
  M:    Robert Foss <robert.foss@linaro.org>
  R:    Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
  R:    Jonas Karlman <jonas@kwiboo.se>
 -R:    Jernej Skrabec <jernej.skrabec@siol.net>
 +R:    Jernej Skrabec <jernej.skrabec@gmail.com>
  S:    Maintained
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    drivers/gpu/drm/bridge/
@@@ -6177,7 -6184,7 +6184,7 @@@ F:      Documentation/devicetree/bindings/di
  F:    drivers/gpu/drm/omapdrm/
  
  DRM DRIVERS FOR V3D
 -M:    Eric Anholt <eric@anholt.net>
 +M:    Emma Anholt <emma@anholt.net>
  S:    Supported
  T:    git git://anongit.freedesktop.org/drm/drm-misc
  F:    Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml
@@@ -6185,7 -6192,7 +6192,7 @@@ F:      drivers/gpu/drm/v3d
  F:    include/uapi/drm/v3d_drm.h
  
  DRM DRIVERS FOR VC4
 -M:    Eric Anholt <eric@anholt.net>
 +M:    Emma Anholt <emma@anholt.net>
  M:    Maxime Ripard <mripard@kernel.org>
  S:    Supported
  T:    git git://github.com/anholt/linux
@@@ -7006,7 -7013,7 +7013,7 @@@ M:      Dan Williams <dan.j.williams@intel.c
  R:    Matthew Wilcox <willy@infradead.org>
  R:    Jan Kara <jack@suse.cz>
  L:    linux-fsdevel@vger.kernel.org
 -L:    linux-nvdimm@lists.01.org
 +L:    nvdimm@lists.linux.dev
  S:    Supported
  F:    fs/dax.c
  F:    include/linux/dax.h
@@@ -10378,7 -10385,7 +10385,7 @@@ LIBNVDIMM BLK: MMIO-APERTURE DRIVE
  M:    Dan Williams <dan.j.williams@intel.com>
  M:    Vishal Verma <vishal.l.verma@intel.com>
  M:    Dave Jiang <dave.jiang@intel.com>
 -L:    linux-nvdimm@lists.01.org
 +L:    nvdimm@lists.linux.dev
  S:    Supported
  Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
  P:    Documentation/nvdimm/maintainer-entry-profile.rst
@@@ -10389,7 -10396,7 +10396,7 @@@ LIBNVDIMM BTT: BLOCK TRANSLATION TABL
  M:    Vishal Verma <vishal.l.verma@intel.com>
  M:    Dan Williams <dan.j.williams@intel.com>
  M:    Dave Jiang <dave.jiang@intel.com>
 -L:    linux-nvdimm@lists.01.org
 +L:    nvdimm@lists.linux.dev
  S:    Supported
  Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
  P:    Documentation/nvdimm/maintainer-entry-profile.rst
@@@ -10399,7 -10406,7 +10406,7 @@@ LIBNVDIMM PMEM: PERSISTENT MEMORY DRIVE
  M:    Dan Williams <dan.j.williams@intel.com>
  M:    Vishal Verma <vishal.l.verma@intel.com>
  M:    Dave Jiang <dave.jiang@intel.com>
 -L:    linux-nvdimm@lists.01.org
 +L:    nvdimm@lists.linux.dev
  S:    Supported
  Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
  P:    Documentation/nvdimm/maintainer-entry-profile.rst
@@@ -10407,7 -10414,7 +10414,7 @@@ F:   drivers/nvdimm/pmem
  
  LIBNVDIMM: DEVICETREE BINDINGS
  M:    Oliver O'Halloran <oohall@gmail.com>
 -L:    linux-nvdimm@lists.01.org
 +L:    nvdimm@lists.linux.dev
  S:    Supported
  Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
  F:    Documentation/devicetree/bindings/pmem/pmem-region.txt
@@@ -10418,7 -10425,7 +10425,7 @@@ M:   Dan Williams <dan.j.williams@intel.c
  M:    Vishal Verma <vishal.l.verma@intel.com>
  M:    Dave Jiang <dave.jiang@intel.com>
  M:    Ira Weiny <ira.weiny@intel.com>
 -L:    linux-nvdimm@lists.01.org
 +L:    nvdimm@lists.linux.dev
  S:    Supported
  Q:    https://patchwork.kernel.org/project/linux-nvdimm/list/
  P:    Documentation/nvdimm/maintainer-entry-profile.rst
@@@ -12180,7 -12187,6 +12187,7 @@@ F:   drivers/platform/surface/surfacepro3
  
  MICROSOFT SURFACE SYSTEM AGGREGATOR SUBSYSTEM
  M:    Maximilian Luz <luzmaximilian@gmail.com>
 +L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  W:    https://github.com/linux-surface/surface-aggregator-module
  C:    irc://chat.freenode.net/##linux-surface
@@@ -12681,9 -12687,9 +12688,9 @@@ F:   drivers/rtc/rtc-ntxec.
  F:    include/linux/mfd/ntxec.h
  
  NETRONOME ETHERNET DRIVERS
- M:    Simon Horman <simon.horman@netronome.com>
+ M:    Simon Horman <simon.horman@corigine.com>
  R:    Jakub Kicinski <kuba@kernel.org>
- L:    oss-drivers@netronome.com
+ L:    oss-drivers@corigine.com
  S:    Maintained
  F:    drivers/net/ethernet/netronome/
  
@@@ -12710,7 -12716,6 +12717,6 @@@ M:   "David S. Miller" <davem@davemloft.n
  M:    Jakub Kicinski <kuba@kernel.org>
  L:    netdev@vger.kernel.org
  S:    Maintained
- W:    http://www.linuxfoundation.org/en/Net
  Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
@@@ -12755,7 -12760,6 +12761,6 @@@ M:   "David S. Miller" <davem@davemloft.n
  M:    Jakub Kicinski <kuba@kernel.org>
  L:    netdev@vger.kernel.org
  S:    Maintained
- W:    http://www.linuxfoundation.org/en/Net
  Q:    https://patchwork.kernel.org/project/netdevbpf/list/
  B:    mailto:netdev@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
@@@ -12897,8 -12901,10 +12902,10 @@@ F: include/uapi/linux/nexthop.
  F:    net/ipv4/nexthop.c
  
  NFC SUBSYSTEM
+ M:    Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
+ L:    linux-nfc@lists.01.org (moderated for non-subscribers)
  L:    netdev@vger.kernel.org
- S:    Orphan
+ S:    Maintained
  F:    Documentation/devicetree/bindings/net/nfc/
  F:    drivers/nfc/
  F:    include/linux/platform_data/nfcmrvl.h
@@@ -13206,7 -13212,6 +13213,6 @@@ F:   Documentation/devicetree/bindings/so
  F:    sound/soc/codecs/tfa9879*
  
  NXP-NCI NFC DRIVER
- M:    ClĂ©ment Perrochaud <clement.perrochaud@effinnov.com>
  R:    Charles Gorand <charles.gorand@effinnov.com>
  L:    linux-nfc@lists.01.org (moderated for non-subscribers)
  S:    Supported
@@@ -14735,6 -14740,7 +14741,6 @@@ W:   https://wireless.wiki.kernel.org/en/
  F:    drivers/net/wireless/intersil/prism54/
  
  PROC FILESYSTEM
 -R:    Alexey Dobriyan <adobriyan@gmail.com>
  L:    linux-kernel@vger.kernel.org
  L:    linux-fsdevel@vger.kernel.org
  S:    Maintained
@@@ -15815,7 -15821,7 +15821,7 @@@ F:   include/uapi/linux/rose.
  F:    net/rose/
  
  ROTATION DRIVER FOR ALLWINNER A83T
 -M:    Jernej Skrabec <jernej.skrabec@siol.net>
 +M:    Jernej Skrabec <jernej.skrabec@gmail.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
  T:    git git://linuxtv.org/media_tree.git
@@@ -15945,6 -15951,7 +15951,7 @@@ S390 IUCV NETWORK LAYE
  M:    Julian Wiedmann <jwi@linux.ibm.com>
  M:    Karsten Graul <kgraul@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
+ L:    netdev@vger.kernel.org
  S:    Supported
  W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    drivers/s390/net/*iucv*
@@@ -15955,6 -15962,7 +15962,7 @@@ S390 NETWORK DRIVER
  M:    Julian Wiedmann <jwi@linux.ibm.com>
  M:    Karsten Graul <kgraul@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
+ L:    netdev@vger.kernel.org
  S:    Supported
  W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    drivers/s390/net/
@@@ -17304,12 -17312,6 +17312,12 @@@ L: linux-i2c@vger.kernel.or
  S:    Maintained
  F:    drivers/i2c/busses/i2c-stm32*
  
 +ST STM32 SPI DRIVER
 +M:    Alain Volmat <alain.volmat@foss.st.com>
 +L:    linux-spi@vger.kernel.org
 +S:    Maintained
 +F:    drivers/spi/spi-stm32.c
 +
  ST STPDDC60 DRIVER
  M:    Daniel Nilsson <daniel.nilsson@flex.com>
  L:    linux-hwmon@vger.kernel.org
diff --combined net/smc/smc_ism.c
@@@ -402,14 -402,6 +402,14 @@@ struct smcd_dev *smcd_alloc_dev(struct 
                return NULL;
        }
  
 +      smcd->event_wq = alloc_ordered_workqueue("ism_evt_wq-%s)",
 +                                               WQ_MEM_RECLAIM, name);
 +      if (!smcd->event_wq) {
 +              kfree(smcd->conn);
 +              kfree(smcd);
 +              return NULL;
 +      }
 +
        smcd->dev.parent = parent;
        smcd->dev.release = smcd_release;
        device_initialize(&smcd->dev);
        INIT_LIST_HEAD(&smcd->vlan);
        INIT_LIST_HEAD(&smcd->lgr_list);
        init_waitqueue_head(&smcd->lgrs_deleted);
 -      smcd->event_wq = alloc_ordered_workqueue("ism_evt_wq-%s)",
 -                                               WQ_MEM_RECLAIM, name);
 -      if (!smcd->event_wq) {
 -              kfree(smcd->conn);
 -              kfree(smcd);
 -              return NULL;
 -      }
        return smcd;
  }
  EXPORT_SYMBOL_GPL(smcd_alloc_dev);
  
  int smcd_register_dev(struct smcd_dev *smcd)
  {
+       int rc;
        mutex_lock(&smcd_dev_list.mutex);
        if (list_empty(&smcd_dev_list.list)) {
                u8 *system_eid = NULL;
                            dev_name(&smcd->dev), smcd->pnetid,
                            smcd->pnetid_by_user ? " (user defined)" : "");
  
-       return device_add(&smcd->dev);
+       rc = device_add(&smcd->dev);
+       if (rc) {
+               mutex_lock(&smcd_dev_list.mutex);
+               list_del(&smcd->list);
+               mutex_unlock(&smcd_dev_list.mutex);
+       }
+       return rc;
  }
  EXPORT_SYMBOL_GPL(smcd_register_dev);