1. 27 Aug, 2024 5 commits
  2. 26 Aug, 2024 4 commits
  3. 23 Aug, 2024 6 commits
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_core: Fix not handling hibernation actions · 18b3256d
      Luiz Augusto von Dentz authored
      This fixes not handling hibernation actions on suspend notifier so they
      are treated in the same way as regular suspend actions.
      
      Fixes: 9952d90e ("Bluetooth: Handle PM_SUSPEND_PREPARE and PM_POST_SUSPEND")
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      18b3256d
    • Neeraj Sanjay Kale's avatar
      Bluetooth: btnxpuart: Fix random crash seen while removing driver · 35237475
      Neeraj Sanjay Kale authored
      This fixes the random kernel crash seen while removing the driver, when
      running the load/unload test over multiple iterations.
      
      1) modprobe btnxpuart
      2) hciconfig hci0 reset
      3) hciconfig (check hci0 interface up with valid BD address)
      4) modprobe -r btnxpuart
      Repeat steps 1 to 4
      
      The ps_wakeup() call in btnxpuart_close() schedules the psdata->work(),
      which gets scheduled after module is removed, causing a kernel crash.
      
      This hidden issue got highlighted after enabling Power Save by default
      in 4183a7be (Bluetooth: btnxpuart: Enable Power Save feature on
      startup)
      
      The new ps_cleanup() deasserts UART break immediately while closing
      serdev device, cancels any scheduled ps_work and destroys the ps_lock
      mutex.
      
      [   85.884604] Unable to handle kernel paging request at virtual address ffffd4a61638f258
      [   85.884624] Mem abort info:
      [   85.884625]   ESR = 0x0000000086000007
      [   85.884628]   EC = 0x21: IABT (current EL), IL = 32 bits
      [   85.884633]   SET = 0, FnV = 0
      [   85.884636]   EA = 0, S1PTW = 0
      [   85.884638]   FSC = 0x07: level 3 translation fault
      [   85.884642] swapper pgtable: 4k pages, 48-bit VAs, pgdp=0000000041dd0000
      [   85.884646] [ffffd4a61638f258] pgd=1000000095fff003, p4d=1000000095fff003, pud=100000004823d003, pmd=100000004823e003, pte=0000000000000000
      [   85.884662] Internal error: Oops: 0000000086000007 [#1] PREEMPT SMP
      [   85.890932] Modules linked in: algif_hash algif_skcipher af_alg overlay fsl_jr_uio caam_jr caamkeyblob_desc caamhash_desc caamalg_desc crypto_engine authenc libdes crct10dif_ce polyval_ce polyval_generic snd_soc_imx_spdif snd_soc_imx_card snd_soc_ak5558 snd_soc_ak4458 caam secvio error snd_soc_fsl_spdif snd_soc_fsl_micfil snd_soc_fsl_sai snd_soc_fsl_utils gpio_ir_recv rc_core fuse [last unloaded: btnxpuart(O)]
      [   85.927297] CPU: 1 PID: 67 Comm: kworker/1:3 Tainted: G           O       6.1.36+g937b1be4345a #1
      [   85.936176] Hardware name: FSL i.MX8MM EVK board (DT)
      [   85.936182] Workqueue: events 0xffffd4a61638f380
      [   85.936198] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
      [   85.952817] pc : 0xffffd4a61638f258
      [   85.952823] lr : 0xffffd4a61638f258
      [   85.952827] sp : ffff8000084fbd70
      [   85.952829] x29: ffff8000084fbd70 x28: 0000000000000000 x27: 0000000000000000
      [   85.963112] x26: ffffd4a69133f000 x25: ffff4bf1c8540990 x24: ffff4bf215b87305
      [   85.963119] x23: ffff4bf215b87300 x22: ffff4bf1c85409d0 x21: ffff4bf1c8540970
      [   85.977382] x20: 0000000000000000 x19: ffff4bf1c8540880 x18: 0000000000000000
      [   85.977391] x17: 0000000000000000 x16: 0000000000000133 x15: 0000ffffe2217090
      [   85.977399] x14: 0000000000000001 x13: 0000000000000133 x12: 0000000000000139
      [   85.977407] x11: 0000000000000001 x10: 0000000000000a60 x9 : ffff8000084fbc50
      [   85.977417] x8 : ffff4bf215b7d000 x7 : ffff4bf215b83b40 x6 : 00000000000003e8
      [   85.977424] x5 : 00000000410fd030 x4 : 0000000000000000 x3 : 0000000000000000
      [   85.977432] x2 : 0000000000000000 x1 : ffff4bf1c4265880 x0 : 0000000000000000
      [   85.977443] Call trace:
      [   85.977446]  0xffffd4a61638f258
      [   85.977451]  0xffffd4a61638f3e8
      [   85.977455]  process_one_work+0x1d4/0x330
      [   85.977464]  worker_thread+0x6c/0x430
      [   85.977471]  kthread+0x108/0x10c
      [   85.977476]  ret_from_fork+0x10/0x20
      [   85.977488] Code: bad PC value
      [   85.977491] ---[ end trace 0000000000000000 ]---
      
      Preset since v6.9.11
      Fixes: 86d55f12 ("Bluetooth: btnxpuart: Deasset UART break before closing serdev device")
      Signed-off-by: default avatarNeeraj Sanjay Kale <neeraj.sanjaykale@nxp.com>
      Reviewed-by: default avatarPaul Menzel <pmenzel@molgen.mpg.de>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      35237475
    • Kiran K's avatar
      Bluetooth: btintel: Allow configuring drive strength of BRI · eb9e749c
      Kiran K authored
      BRI (Bluetooth Radio Interface) traffic from CNVr to CNVi was found causing
      cross talk step errors to WiFi. To avoid this potential issue OEM platforms
      can replace BRI resistor to adjust the BRI response line drive strength.
      During the *setup*, driver reads the drive strength value from uefi
      variable and passes it to the controller via vendor specific command with
      opcode 0xfc0a.
      
      dmesg:
      
      ..
      [21.982720] Bluetooth: hci0: Bootloader timestamp 2023.33 buildtype 1 build 45995
      [21.984250] Bluetooth: hci0: Found device firmware: intel/ibt-0190-0291-iml.sfi
      [21.984255] Bluetooth: hci0: Boot Address: 0x30099000
      [21.984256] Bluetooth: hci0: Firmware Version: 160-24.24
      [22.011501] Bluetooth: hci0: Waiting for firmware download to complete
      [22.011518] Bluetooth: hci0: Firmware loaded in 26624 usecs
      [22.011584] Bluetooth: hci0: Waiting for device to boot
      [22.013546] Bluetooth: hci0: Malformed MSFT vendor event: 0x02
      [22.013552] Bluetooth: hci0: Device booted in 1967 usecs
      ...
      [22.013792] Bluetooth: hci0: dsbr: enable: 0x01 value: 0x0b
      ...
      [22.015027] Bluetooth: hci0: Found device firmware: intel/ibt-0190-0291.sfi
      [22.015041] Bluetooth: hci0: Boot Address: 0x10000800
      [22.015043] Bluetooth: hci0: Firmware Version: 160-24.24
      [22.395821] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
      [22.395828] Bluetooth: BNEP filters: protocol multicast
      ...
      Signed-off-by: default avatarKiran K <kiran.k@intel.com>
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      eb9e749c
    • Haiyang Zhang's avatar
      net: mana: Fix race of mana_hwc_post_rx_wqe and new hwc response · 8af174ea
      Haiyang Zhang authored
      The mana_hwc_rx_event_handler() / mana_hwc_handle_resp() calls
      complete(&ctx->comp_event) before posting the wqe back. It's
      possible that other callers, like mana_create_txq(), start the
      next round of mana_hwc_send_request() before the posting of wqe.
      And if the HW is fast enough to respond, it can hit no_wqe error
      on the HW channel, then the response message is lost. The mana
      driver may fail to create queues and open, because of waiting for
      the HW response and timed out.
      Sample dmesg:
      [  528.610840] mana 39d4:00:02.0: HWC: Request timed out!
      [  528.614452] mana 39d4:00:02.0: Failed to send mana message: -110, 0x0
      [  528.618326] mana 39d4:00:02.0 enP14804s2: Failed to create WQ object: -110
      
      To fix it, move posting of rx wqe before complete(&ctx->comp_event).
      
      Cc: stable@vger.kernel.org
      Fixes: ca9c54d2 ("net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)")
      Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: default avatarLong Li <longli@microsoft.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8af174ea
    • Johannes Berg's avatar
      net: drop special comment style · 82b8000c
      Johannes Berg authored
      As we discussed in the room at netdevconf earlier this week,
      drop the requirement for special comment style for netdev.
      
      For checkpatch, the general check accepts both right now, so
      simply drop the special request there as well.
      Acked-by: default avatarStephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Acked-by: default avatarJakub Kicinski <kuba@kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      82b8000c
    • Eric Dumazet's avatar
      pktgen: use cpus_read_lock() in pg_net_init() · 979b581e
      Eric Dumazet authored
      I have seen the WARN_ON(smp_processor_id() != cpu) firing
      in pktgen_thread_worker() during tests.
      
      We must use cpus_read_lock()/cpus_read_unlock()
      around the for_each_online_cpu(cpu) loop.
      
      While we are at it use WARN_ON_ONCE() to avoid a possible syslog flood.
      
      Fixes: 1da177e4 ("Linux-2.6.12-rc2")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Link: https://patch.msgid.link/20240821175339.1191779-1-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      979b581e
  4. 22 Aug, 2024 25 commits
    • Linus Torvalds's avatar
      Merge tag 'net-6.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · aa0743a2
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from bluetooth and netfilter.
      
        Current release - regressions:
      
         - virtio_net: avoid crash on resume - move netdev_tx_reset_queue()
           call before RX napi enable
      
        Current release - new code bugs:
      
         - net/mlx5e: fix page leak and incorrect header release w/ HW GRO
      
        Previous releases - regressions:
      
         - udp: fix receiving fraglist GSO packets
      
         - tcp: prevent refcount underflow due to concurrent execution of
           tcp_sk_exit_batch()
      
        Previous releases - always broken:
      
         - ipv6: fix possible UAF when incrementing error counters on output
      
         - ip6: tunnel: prevent merging of packets with different L2
      
         - mptcp: pm: fix IDs not being reusable
      
         - bonding: fix potential crashes in IPsec offload handling
      
         - Bluetooth: HCI:
            - MGMT: add error handling to pair_device() to avoid a crash
            - invert LE State quirk to be opt-out rather then opt-in
            - fix LE quote calculation
      
         - drv: dsa: VLAN fixes for Ocelot driver
      
         - drv: igb: cope with large MAX_SKB_FRAGS Kconfig settings
      
         - drv: ice: fi Rx data path on architectures with PAGE_SIZE >= 8192
      
        Misc:
      
         - netpoll: do not export netpoll_poll_[disable|enable]()
      
         - MAINTAINERS: update the list of networking headers"
      
      * tag 'net-6.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (82 commits)
        s390/iucv: Fix vargs handling in iucv_alloc_device()
        net: ovs: fix ovs_drop_reasons error
        net: xilinx: axienet: Fix dangling multicast addresses
        net: xilinx: axienet: Always disable promiscuous mode
        MAINTAINERS: Mark JME Network Driver as Odd Fixes
        MAINTAINERS: Add header files to NETWORKING sections
        MAINTAINERS: Add limited globs for Networking headers
        MAINTAINERS: Add net_tstamp.h to SOCKET TIMESTAMPING section
        MAINTAINERS: Add sonet.h to ATM section of MAINTAINERS
        octeontx2-af: Fix CPT AF register offset calculation
        net: phy: realtek: Fix setting of PHY LEDs Mode B bit on RTL8211F
        net: ngbe: Fix phy mode set to external phy
        netfilter: flowtable: validate vlan header
        bnxt_en: Fix double DMA unmapping for XDP_REDIRECT
        ipv6: prevent possible UAF in ip6_xmit()
        ipv6: fix possible UAF in ip6_finish_output2()
        ipv6: prevent UAF in ip6_send_skb()
        netpoll: do not export netpoll_poll_[disable|enable]()
        selftests: mlxsw: ethtool_lanes: Source ethtool lib from correct path
        udp: fix receiving fraglist GSO packets
        ...
      aa0743a2
    • Linus Torvalds's avatar
      Merge tag 'kbuild-fixes-v6.11-2' of... · 3f44ae97
      Linus Torvalds authored
      Merge tag 'kbuild-fixes-v6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
      
      Pull Kbuild fixes from Masahiro Yamada:
      
       - Eliminate the fdtoverlay command duplication in scripts/Makefile.lib
      
       - Fix 'make compile_commands.json' for external modules
      
       - Ensure scripts/kconfig/merge_config.sh handles missing newlines
      
       - Fix some build errors on macOS
      
      * tag 'kbuild-fixes-v6.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: fix typos "prequisites" to "prerequisites"
        Documentation/llvm: turn make command for ccache into code block
        kbuild: avoid scripts/kallsyms parsing /dev/null
        treewide: remove unnecessary <linux/version.h> inclusion
        scripts: kconfig: merge_config: config files: add a trailing newline
        Makefile: add $(srctree) to dependency of compile_commands.json target
        kbuild: clean up code duplication in cmd_fdtoverlay
      3f44ae97
    • Alexandra Winter's avatar
      s390/iucv: Fix vargs handling in iucv_alloc_device() · 0124fb0e
      Alexandra Winter authored
      iucv_alloc_device() gets a format string and a varying number of
      arguments. This is incorrectly forwarded by calling dev_set_name() with
      the format string and a va_list, while dev_set_name() expects also a
      varying number of arguments.
      
      Symptoms:
      Corrupted iucv device names, which can result in log messages like:
      sysfs: cannot create duplicate filename '/devices/iucv/hvc_iucv1827699952'
      
      Fixes: 4452e8ef ("s390/iucv: Provide iucv_alloc_device() / iucv_release_device()")
      Link: https://bugzilla.suse.com/show_bug.cgi?id=1228425Signed-off-by: default avatarAlexandra Winter <wintera@linux.ibm.com>
      Reviewed-by: default avatarThorsten Winkler <twinkler@linux.ibm.com>
      Reviewed-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
      Link: https://patch.msgid.link/20240821091337.3627068-1-wintera@linux.ibm.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      0124fb0e
    • Menglong Dong's avatar
      net: ovs: fix ovs_drop_reasons error · 57fb6778
      Menglong Dong authored
      There is something wrong with ovs_drop_reasons. ovs_drop_reasons[0] is
      "OVS_DROP_LAST_ACTION", but OVS_DROP_LAST_ACTION == __OVS_DROP_REASON + 1,
      which means that ovs_drop_reasons[1] should be "OVS_DROP_LAST_ACTION".
      
      And as Adrian tested, without the patch, adding flow to drop packets
      results in:
      
      drop at: do_execute_actions+0x197/0xb20 [openvsw (0xffffffffc0db6f97)
      origin: software
      input port ifindex: 8
      timestamp: Tue Aug 20 10:19:17 2024 859853461 nsec
      protocol: 0x800
      length: 98
      original length: 98
      drop reason: OVS_DROP_ACTION_ERROR
      
      With the patch, the same results in:
      
      drop at: do_execute_actions+0x197/0xb20 [openvsw (0xffffffffc0db6f97)
      origin: software
      input port ifindex: 8
      timestamp: Tue Aug 20 10:16:13 2024 475856608 nsec
      protocol: 0x800
      length: 98
      original length: 98
      drop reason: OVS_DROP_LAST_ACTION
      
      Fix this by initializing ovs_drop_reasons with index.
      
      Fixes: 9d802da4 ("net: openvswitch: add last-action drop reason")
      Signed-off-by: default avatarMenglong Dong <dongml2@chinatelecom.cn>
      Tested-by: default avatarAdrian Moreno <amorenoz@redhat.com>
      Reviewed-by: default avatarAdrian Moreno <amorenoz@redhat.com>
      Link: https://patch.msgid.link/20240821123252.186305-1-dongml2@chinatelecom.cnSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      57fb6778
    • Jakub Kicinski's avatar
      Merge tag 'nf-24-08-22' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf · 3ddbf7b6
      Jakub Kicinski authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net
      
      The following patchset contains Netfilter fixes for net:
      
      Patch #1 disable BH when collecting stats via hardware offload to ensure
               concurrent updates from packet path do not result in losing stats.
               From Sebastian Andrzej Siewior.
      
      Patch #2 uses write seqcount to reset counters serialize against reader.
               Also from Sebastian Andrzej Siewior.
      
      Patch #3 ensures vlan header is in place before accessing its fields,
               according to KMSAN splat triggered by syzbot.
      
      * tag 'nf-24-08-22' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
        netfilter: flowtable: validate vlan header
        netfilter: nft_counter: Synchronize nft_counter_reset() against reader.
        netfilter: nft_counter: Disable BH in nft_counter_offload_stats().
      ====================
      
      Link: https://patch.msgid.link/20240822101842.4234-1-pablo@netfilter.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3ddbf7b6
    • Jakub Kicinski's avatar
      Merge branch 'net-xilinx-axienet-multicast-fixes-and-improvements' · 2696c15c
      Jakub Kicinski authored
      Sean Anderson says:
      
      ====================
      net: xilinx: axienet: Multicast fixes and improvements [part]
      ====================
      
      First two patches of the series which are fixes.
      
      Link: https://patch.msgid.link/20240822154059.1066595-1-sean.anderson@linux.devSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2696c15c
    • Sean Anderson's avatar
      net: xilinx: axienet: Fix dangling multicast addresses · 797a68c9
      Sean Anderson authored
      If a multicast address is removed but there are still some multicast
      addresses, that address would remain programmed into the frame filter.
      Fix this by explicitly setting the enable bit for each filter.
      
      Fixes: 8a3b7a25 ("drivers/net/ethernet/xilinx: added Xilinx AXI Ethernet driver")
      Signed-off-by: default avatarSean Anderson <sean.anderson@linux.dev>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Link: https://patch.msgid.link/20240822154059.1066595-3-sean.anderson@linux.devSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      797a68c9
    • Sean Anderson's avatar
      net: xilinx: axienet: Always disable promiscuous mode · 4ae738df
      Sean Anderson authored
      If promiscuous mode is disabled when there are fewer than four multicast
      addresses, then it will not be reflected in the hardware. Fix this by
      always clearing the promiscuous mode flag even when we program multicast
      addresses.
      
      Fixes: 8a3b7a25 ("drivers/net/ethernet/xilinx: added Xilinx AXI Ethernet driver")
      Signed-off-by: default avatarSean Anderson <sean.anderson@linux.dev>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Link: https://patch.msgid.link/20240822154059.1066595-2-sean.anderson@linux.devSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      4ae738df
    • Masahiro Yamada's avatar
      kbuild: fix typos "prequisites" to "prerequisites" · 8fb4ac1c
      Masahiro Yamada authored
      This typo in scripts/Makefile.build has been present for more than 20
      years. It was accidentally copy-pasted to other scripts/Makefile.* files.
      Fix them all.
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
      8fb4ac1c
    • Paolo Abeni's avatar
      Merge branch 'maintainers-networking-updates' · a812a3f4
      Paolo Abeni authored
      Simon Horman says:
      
      ====================
      MAINTAINERS: Networking updates
      
      This series includes Networking-related updates to MAINTAINERS.
      
      * Patches 1-4 aim to assign header files with "*net*' and '*skbuff*'
        in their name to Networking-related sections within Maintainers.
      
        There are a few such files left over after this patches.
        I have to sent separate patches to add them to SCSI SUBSYSTEM
        and NETWORKING DRIVERS (WIRELESS) sections [1][2].
      
        [1] https://lore.kernel.org/linux-scsi/20240816-scsi-mnt-v1-1-439af8b1c28b@kernel.org/
        [2] https://lore.kernel.org/linux-wireless/20240816-wifi-mnt-v1-1-3fb3bf5d44aa@kernel.org/
      
      * Patch 5 updates the status of the JME driver to 'Odd Fixes'
      ====================
      
      Link: https://patch.msgid.link/20240821-net-mnt-v2-0-59a5af38e69d@kernel.orgSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      a812a3f4
    • Simon Horman's avatar
      MAINTAINERS: Mark JME Network Driver as Odd Fixes · 46097a92
      Simon Horman authored
      This driver only appears to have received sporadic clean-ups, typically
      part of some tree-wide activity, and fixes for quite some time.  And
      according to the maintainer, Guo-Fu Tseng, the device has been EOLed for
      a long time (see Link).
      
      Accordingly, it seems appropriate to mark this driver as odd fixes.
      
      Cc: Moon Yeounsu <yyyynoom@gmail.com>
      Cc: Guo-Fu Tseng <cooldavid@cooldavid.org>
      Link: https://lore.kernel.org/netdev/20240805003139.M94125@cooldavid.org/Signed-off-by: default avatarSimon Horman <horms@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      46097a92
    • Simon Horman's avatar
      MAINTAINERS: Add header files to NETWORKING sections · f2d20c9b
      Simon Horman authored
      This is part of an effort to assign a section in MAINTAINERS to header
      files that relate to Networking. In this case the files with "net" or
      "skbuff" in their name.
      
      This patch adds a number of such files to the NETWORKING DRIVERS
      and NETWORKING [GENERAL] sections.
      Signed-off-by: default avatarSimon Horman <horms@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      f2d20c9b
    • Simon Horman's avatar
      MAINTAINERS: Add limited globs for Networking headers · 8cb0a938
      Simon Horman authored
      This aims to add limited globs to improve the coverage of header files
      in the NETWORKING DRIVERS and NETWORKING [GENERAL] sections.
      
      It is done so in a minimal way to exclude overlap with other sections.
      And so as not to require "X" entries to exclude files otherwise
      matched by these new globs.
      
      While imperfect, due to it's limited nature, this does extend coverage
      of header files by these sections. And aims to automatically cover
      new files that seem very likely belong to these sections.
      
      The include/linux/netdev* glob (both sections)
      + Subsumes the entries for:
        - include/linux/netdevice.h
      + Extends the sections to cover
        - include/linux/netdevice_xmit.h
        - include/linux/netdev_features.h
      
      The include/uapi/linux/netdev* globs: (both sections)
      + Subsumes the entries for:
        - include/linux/netdevice.h
      + Extends the sections to cover
        - include/linux/netdev.h
      
      The include/linux/skbuff* glob (NETWORKING [GENERAL] section only):
      + Subsumes the entry for:
        - include/linux/skbuff.h
      + Extends the section to cover
        - include/linux/skbuff_ref.h
      
      A include/uapi/linux/net_* glob was not added to the NETWORKING [GENERAL]
      section. Although it would subsume the entry for
      include/uapi/linux/net_namespace.h, which is fine, it would also extend
      coverage to:
      - include/uapi/linux/net_dropmon.h, which belongs to the
         NETWORK DROP MONITOR section
      - include/uapi/linux/net_tstamp.h which, as per an earlier patch in this
        series, belongs to the SOCKET TIMESTAMPING section
      Signed-off-by: default avatarSimon Horman <horms@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      8cb0a938
    • Simon Horman's avatar
      MAINTAINERS: Add net_tstamp.h to SOCKET TIMESTAMPING section · eb208fec
      Simon Horman authored
      This is part of an effort to assign a section in MAINTAINERS to header
      files that relate to Networking. In this case the files with "net" in
      their name.
      
      Cc: Richard Cochran <richardcochran@gmail.com>
      Cc: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
      Signed-off-by: default avatarSimon Horman <horms@kernel.org>
      Acked-by: default avatarWillem de Bruijn <willemb@google.com>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      eb208fec
    • Simon Horman's avatar
      MAINTAINERS: Add sonet.h to ATM section of MAINTAINERS · 1ac66c49
      Simon Horman authored
      This is part of an effort to assign a section in MAINTAINERS to header
      files that relate to Networking. In this case the files with "net" in
      their name.
      
      It seems that sonet.h is included in ATM related source files,
      and thus that ATM is the most relevant section for these files.
      
      Cc: Chas Williams <3chas3@gmail.com>
      Signed-off-by: default avatarSimon Horman <horms@kernel.org>
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      1ac66c49
    • Bharat Bhushan's avatar
      octeontx2-af: Fix CPT AF register offset calculation · af688a99
      Bharat Bhushan authored
      Some CPT AF registers are per LF and others are global. Translation
      of PF/VF local LF slot number to actual LF slot number is required
      only for accessing perf LF registers. CPT AF global registers access
      do not require any LF slot number. Also, there is no reason CPT
      PF/VF to know actual lf's register offset.
      
      Without this fix microcode loading will fail, VFs cannot be created
      and hardware is not usable.
      
      Fixes: bc35e28a ("octeontx2-af: replace cpt slot with lf id on reg write")
      Signed-off-by: default avatarBharat Bhushan <bbhushan2@marvell.com>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Link: https://patch.msgid.link/20240821070558.1020101-1-bbhushan2@marvell.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      af688a99
    • Sava Jakovljev's avatar
      net: phy: realtek: Fix setting of PHY LEDs Mode B bit on RTL8211F · a2f5c505
      Sava Jakovljev authored
      The current implementation incorrectly sets the mode bit of the PHY chip.
      Bit 15 (RTL8211F_LEDCR_MODE) should not be shifted together with the
      configuration nibble of a LED- it should be set independently of the
      index of the LED being configured.
      As a consequence, the RTL8211F LED control is actually operating in Mode A.
      Fix the error by or-ing final register value to write with a const-value of
      RTL8211F_LEDCR_MODE, thus setting Mode bit explicitly.
      
      Fixes: 17784801 ("net: phy: realtek: Add support for PHY LEDs on RTL8211F")
      Signed-off-by: default avatarSava Jakovljev <savaj@meyersound.com>
      Reviewed-by: default avatarMarek Vasut <marex@denx.de>
      Link: https://patch.msgid.link/PAWP192MB21287372F30C4E55B6DF6158C38E2@PAWP192MB2128.EURP192.PROD.OUTLOOK.COMSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      a2f5c505
    • Mengyuan Lou's avatar
      net: ngbe: Fix phy mode set to external phy · f2916c83
      Mengyuan Lou authored
      The MAC only has add the TX delay and it can not be modified.
      MAC and PHY are both set the TX delay cause transmission problems.
      So just disable TX delay in PHY, when use rgmii to attach to
      external phy, set PHY_INTERFACE_MODE_RGMII_RXID to phy drivers.
      And it is does not matter to internal phy.
      
      Fixes: bc2426d7 ("net: ngbe: convert phylib to phylink")
      Signed-off-by: default avatarMengyuan Lou <mengyuanlou@net-swift.com>
      Cc: stable@vger.kernel.org # 6.3+
      Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Link: https://patch.msgid.link/E6759CF1387CF84C+20240820030425.93003-1-mengyuanlou@net-swift.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      f2916c83
    • Pablo Neira Ayuso's avatar
      netfilter: flowtable: validate vlan header · 6ea14ccb
      Pablo Neira Ayuso authored
      Ensure there is sufficient room to access the protocol field of the
      VLAN header, validate it once before the flowtable lookup.
      
      =====================================================
      BUG: KMSAN: uninit-value in nf_flow_offload_inet_hook+0x45a/0x5f0 net/netfilter/nf_flow_table_inet.c:32
       nf_flow_offload_inet_hook+0x45a/0x5f0 net/netfilter/nf_flow_table_inet.c:32
       nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]
       nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626
       nf_hook_ingress include/linux/netfilter_netdev.h:34 [inline]
       nf_ingress net/core/dev.c:5440 [inline]
      
      Fixes: 4cd91f7c ("netfilter: flowtable: add vlan support")
      Reported-by: syzbot+8407d9bb88cd4c6bf61a@syzkaller.appspotmail.com
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      6ea14ccb
    • Jakub Kicinski's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue · a0b4a80e
      Jakub Kicinski authored
      Tony Nguyen says:
      
      ====================
      Intel Wired LAN Driver Updates 2024-08-20 (ice)
      
      This series contains updates to ice driver only.
      
      Maciej fixes issues with Rx data path on architectures with
      PAGE_SIZE >= 8192; correcting page reuse usage and calculations for
      last offset and truesize.
      
      Michal corrects assignment of devlink port number to use PF id.
      
      * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue:
        ice: use internal pf id instead of function number
        ice: fix truesize operations for PAGE_SIZE >= 8192
        ice: fix ICE_LAST_OFFSET formula
        ice: fix page reuse when PAGE_SIZE is over 8k
      ====================
      
      Link: https://patch.msgid.link/20240820215620.1245310-1-anthony.l.nguyen@intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      a0b4a80e
    • Somnath Kotur's avatar
      bnxt_en: Fix double DMA unmapping for XDP_REDIRECT · 8baeef76
      Somnath Kotur authored
      Remove the dma_unmap_page_attrs() call in the driver's XDP_REDIRECT
      code path.  This should have been removed when we let the page pool
      handle the DMA mapping.  This bug causes the warning:
      
      WARNING: CPU: 7 PID: 59 at drivers/iommu/dma-iommu.c:1198 iommu_dma_unmap_page+0xd5/0x100
      CPU: 7 PID: 59 Comm: ksoftirqd/7 Tainted: G        W          6.8.0-1010-gcp #11-Ubuntu
      Hardware name: Dell Inc. PowerEdge R7525/0PYVT1, BIOS 2.15.2 04/02/2024
      RIP: 0010:iommu_dma_unmap_page+0xd5/0x100
      Code: 89 ee 48 89 df e8 cb f2 69 ff 48 83 c4 08 5b 41 5c 41 5d 41 5e 41 5f 5d 31 c0 31 d2 31 c9 31 f6 31 ff 45 31 c0 e9 ab 17 71 00 <0f> 0b 48 83 c4 08 5b 41 5c 41 5d 41 5e 41 5f 5d 31 c0 31 d2 31 c9
      RSP: 0018:ffffab1fc0597a48 EFLAGS: 00010246
      RAX: 0000000000000000 RBX: ffff99ff838280c8 RCX: 0000000000000000
      RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
      RBP: ffffab1fc0597a78 R08: 0000000000000002 R09: ffffab1fc0597c1c
      R10: ffffab1fc0597cd3 R11: ffff99ffe375acd8 R12: 00000000e65b9000
      R13: 0000000000000050 R14: 0000000000001000 R15: 0000000000000002
      FS:  0000000000000000(0000) GS:ffff9a06efb80000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      CR2: 0000565c34c37210 CR3: 00000005c7e3e000 CR4: 0000000000350ef0
      ? show_regs+0x6d/0x80
      ? __warn+0x89/0x150
      ? iommu_dma_unmap_page+0xd5/0x100
      ? report_bug+0x16a/0x190
      ? handle_bug+0x51/0xa0
      ? exc_invalid_op+0x18/0x80
      ? iommu_dma_unmap_page+0xd5/0x100
      ? iommu_dma_unmap_page+0x35/0x100
      dma_unmap_page_attrs+0x55/0x220
      ? bpf_prog_4d7e87c0d30db711_xdp_dispatcher+0x64/0x9f
      bnxt_rx_xdp+0x237/0x520 [bnxt_en]
      bnxt_rx_pkt+0x640/0xdd0 [bnxt_en]
      __bnxt_poll_work+0x1a1/0x3d0 [bnxt_en]
      bnxt_poll+0xaa/0x1e0 [bnxt_en]
      __napi_poll+0x33/0x1e0
      net_rx_action+0x18a/0x2f0
      
      Fixes: 578fcfd2 ("bnxt_en: Let the page pool manage the DMA mapping")
      Reviewed-by: default avatarAndy Gospodarek <andrew.gospodarek@broadcom.com>
      Reviewed-by: default avatarKalesh AP <kalesh-anakkur.purayil@broadcom.com>
      Signed-off-by: default avatarSomnath Kotur <somnath.kotur@broadcom.com>
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Reviewed-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Link: https://patch.msgid.link/20240820203415.168178-1-michael.chan@broadcom.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8baeef76
    • Jakub Kicinski's avatar
      Merge branch 'ipv6-fix-possible-uaf-in-output-paths' · 58652e24
      Jakub Kicinski authored
      Eric Dumazet says:
      
      ====================
      ipv6: fix possible UAF in output paths
      
      First patch fixes an issue spotted by syzbot, and the two
      other patches fix error paths after skb_expand_head()
      adoption.
      ====================
      
      Link: https://patch.msgid.link/20240820160859.3786976-1-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      58652e24
    • Eric Dumazet's avatar
      ipv6: prevent possible UAF in ip6_xmit() · 2d5ff7e3
      Eric Dumazet authored
      If skb_expand_head() returns NULL, skb has been freed
      and the associated dst/idev could also have been freed.
      
      We must use rcu_read_lock() to prevent a possible UAF.
      
      Fixes: 0c9f227b ("ipv6: use skb_expand_head in ip6_xmit")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Vasily Averin <vasily.averin@linux.dev>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://patch.msgid.link/20240820160859.3786976-4-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2d5ff7e3
    • Eric Dumazet's avatar
      ipv6: fix possible UAF in ip6_finish_output2() · da273b37
      Eric Dumazet authored
      If skb_expand_head() returns NULL, skb has been freed
      and associated dst/idev could also have been freed.
      
      We need to hold rcu_read_lock() to make sure the dst and
      associated idev are alive.
      
      Fixes: 5796015f ("ipv6: allocate enough headroom in ip6_finish_output2()")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Vasily Averin <vasily.averin@linux.dev>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://patch.msgid.link/20240820160859.3786976-3-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      da273b37
    • Eric Dumazet's avatar
      ipv6: prevent UAF in ip6_send_skb() · faa389b2
      Eric Dumazet authored
      syzbot reported an UAF in ip6_send_skb() [1]
      
      After ip6_local_out() has returned, we no longer can safely
      dereference rt, unless we hold rcu_read_lock().
      
      A similar issue has been fixed in commit
      a688caa3 ("ipv6: take rcu lock in rawv6_send_hdrinc()")
      
      Another potential issue in ip6_finish_output2() is handled in a
      separate patch.
      
      [1]
       BUG: KASAN: slab-use-after-free in ip6_send_skb+0x18d/0x230 net/ipv6/ip6_output.c:1964
      Read of size 8 at addr ffff88806dde4858 by task syz.1.380/6530
      
      CPU: 1 UID: 0 PID: 6530 Comm: syz.1.380 Not tainted 6.11.0-rc3-syzkaller-00306-gdf6cbc62 #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
      Call Trace:
       <TASK>
        __dump_stack lib/dump_stack.c:93 [inline]
        dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119
        print_address_description mm/kasan/report.c:377 [inline]
        print_report+0x169/0x550 mm/kasan/report.c:488
        kasan_report+0x143/0x180 mm/kasan/report.c:601
        ip6_send_skb+0x18d/0x230 net/ipv6/ip6_output.c:1964
        rawv6_push_pending_frames+0x75c/0x9e0 net/ipv6/raw.c:588
        rawv6_sendmsg+0x19c7/0x23c0 net/ipv6/raw.c:926
        sock_sendmsg_nosec net/socket.c:730 [inline]
        __sock_sendmsg+0x1a6/0x270 net/socket.c:745
        sock_write_iter+0x2dd/0x400 net/socket.c:1160
       do_iter_readv_writev+0x60a/0x890
        vfs_writev+0x37c/0xbb0 fs/read_write.c:971
        do_writev+0x1b1/0x350 fs/read_write.c:1018
        do_syscall_x64 arch/x86/entry/common.c:52 [inline]
        do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
       entry_SYSCALL_64_after_hwframe+0x77/0x7f
      RIP: 0033:0x7f936bf79e79
      Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
      RSP: 002b:00007f936cd7f038 EFLAGS: 00000246 ORIG_RAX: 0000000000000014
      RAX: ffffffffffffffda RBX: 00007f936c115f80 RCX: 00007f936bf79e79
      RDX: 0000000000000001 RSI: 0000000020000040 RDI: 0000000000000004
      RBP: 00007f936bfe7916 R08: 0000000000000000 R09: 0000000000000000
      R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
      R13: 0000000000000000 R14: 00007f936c115f80 R15: 00007fff2860a7a8
       </TASK>
      
      Allocated by task 6530:
        kasan_save_stack mm/kasan/common.c:47 [inline]
        kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
        unpoison_slab_object mm/kasan/common.c:312 [inline]
        __kasan_slab_alloc+0x66/0x80 mm/kasan/common.c:338
        kasan_slab_alloc include/linux/kasan.h:201 [inline]
        slab_post_alloc_hook mm/slub.c:3988 [inline]
        slab_alloc_node mm/slub.c:4037 [inline]
        kmem_cache_alloc_noprof+0x135/0x2a0 mm/slub.c:4044
        dst_alloc+0x12b/0x190 net/core/dst.c:89
        ip6_blackhole_route+0x59/0x340 net/ipv6/route.c:2670
        make_blackhole net/xfrm/xfrm_policy.c:3120 [inline]
        xfrm_lookup_route+0xd1/0x1c0 net/xfrm/xfrm_policy.c:3313
        ip6_dst_lookup_flow+0x13e/0x180 net/ipv6/ip6_output.c:1257
        rawv6_sendmsg+0x1283/0x23c0 net/ipv6/raw.c:898
        sock_sendmsg_nosec net/socket.c:730 [inline]
        __sock_sendmsg+0x1a6/0x270 net/socket.c:745
        ____sys_sendmsg+0x525/0x7d0 net/socket.c:2597
        ___sys_sendmsg net/socket.c:2651 [inline]
        __sys_sendmsg+0x2b0/0x3a0 net/socket.c:2680
        do_syscall_x64 arch/x86/entry/common.c:52 [inline]
        do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
       entry_SYSCALL_64_after_hwframe+0x77/0x7f
      
      Freed by task 45:
        kasan_save_stack mm/kasan/common.c:47 [inline]
        kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
        kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579
        poison_slab_object+0xe0/0x150 mm/kasan/common.c:240
        __kasan_slab_free+0x37/0x60 mm/kasan/common.c:256
        kasan_slab_free include/linux/kasan.h:184 [inline]
        slab_free_hook mm/slub.c:2252 [inline]
        slab_free mm/slub.c:4473 [inline]
        kmem_cache_free+0x145/0x350 mm/slub.c:4548
        dst_destroy+0x2ac/0x460 net/core/dst.c:124
        rcu_do_batch kernel/rcu/tree.c:2569 [inline]
        rcu_core+0xafd/0x1830 kernel/rcu/tree.c:2843
        handle_softirqs+0x2c4/0x970 kernel/softirq.c:554
        __do_softirq kernel/softirq.c:588 [inline]
        invoke_softirq kernel/softirq.c:428 [inline]
        __irq_exit_rcu+0xf4/0x1c0 kernel/softirq.c:637
        irq_exit_rcu+0x9/0x30 kernel/softirq.c:649
        instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline]
        sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1043
        asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
      
      Last potentially related work creation:
        kasan_save_stack+0x3f/0x60 mm/kasan/common.c:47
        __kasan_record_aux_stack+0xac/0xc0 mm/kasan/generic.c:541
        __call_rcu_common kernel/rcu/tree.c:3106 [inline]
        call_rcu+0x167/0xa70 kernel/rcu/tree.c:3210
        refdst_drop include/net/dst.h:263 [inline]
        skb_dst_drop include/net/dst.h:275 [inline]
        nf_ct_frag6_queue net/ipv6/netfilter/nf_conntrack_reasm.c:306 [inline]
        nf_ct_frag6_gather+0xb9a/0x2080 net/ipv6/netfilter/nf_conntrack_reasm.c:485
        ipv6_defrag+0x2c8/0x3c0 net/ipv6/netfilter/nf_defrag_ipv6_hooks.c:67
        nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]
        nf_hook_slow+0xc3/0x220 net/netfilter/core.c:626
        nf_hook include/linux/netfilter.h:269 [inline]
        __ip6_local_out+0x6fa/0x800 net/ipv6/output_core.c:143
        ip6_local_out+0x26/0x70 net/ipv6/output_core.c:153
        ip6_send_skb+0x112/0x230 net/ipv6/ip6_output.c:1959
        rawv6_push_pending_frames+0x75c/0x9e0 net/ipv6/raw.c:588
        rawv6_sendmsg+0x19c7/0x23c0 net/ipv6/raw.c:926
        sock_sendmsg_nosec net/socket.c:730 [inline]
        __sock_sendmsg+0x1a6/0x270 net/socket.c:745
        sock_write_iter+0x2dd/0x400 net/socket.c:1160
       do_iter_readv_writev+0x60a/0x890
      
      Fixes: 06254914 ("ipv6: ip6_push_pending_frames() should increment IPSTATS_MIB_OUTDISCARDS")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Link: https://patch.msgid.link/20240820160859.3786976-2-edumazet@google.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      faa389b2