Linux/linux 4b377b4kernel kprobes.c

kprobe/ftrace: fix build error due to bad function definition

Commit 1a7d0890dd4a ("kprobe/ftrace: bail out if ftrace was killed")
introduced a bad K&R function definition, which we haven't accepted in a
long long time.

Gcc seems to let it slide, but clang notices with the appropriate error:

  kernel/kprobes.c:1140:24: error: a function declaration without a prototype is deprecated in all >
   1140 | void kprobe_ftrace_kill()
        |                        ^
        |                         void

but this commit was apparently never in linux-next before it was sent
upstream, so it didn't get the appropriate build test coverage.

Fixes: 1a7d0890dd4a kprobe/ftrace: bail out if ftrace was killed
Cc: Stephen Brennan <stephen.s.brennan at oracle.com>
Cc: Masami Hiramatsu (Google) <mhiramat at kernel.org>

    [3 lines not shown]
DeltaFile
+1-1kernel/kprobes.c
+1-11 files

Linux/linux f08a1e9drivers/net/ethernet/wangxun/libwx wx_lib.c wx_type.h, drivers/net/ethernet/wangxun/txgbe txgbe_main.c

Merge tag 'net-6.10-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

Pull networking fixes from Jakub Kicinski:
 "Current release - regressions:

   - virtio_net: fix missed error path rtnl_unlock after control queue
     locking rework

  Current release - new code bugs:

   - bpf: fix KASAN slab-out-of-bounds in percpu_array_map_gen_lookup,
     caused by missing nested map handling

   - drv: dsa: correct initialization order for KSZ88x3 ports

  Previous releases - regressions:

   - af_packet: do not call packet_read_pending() from
     tpacket_destruct_skb() fix performance regression

    [30 lines not shown]
DeltaFile
+52-4drivers/net/ethernet/wangxun/libwx/wx_lib.c
+33-11net/l2tp/l2tp_core.c
+31-0drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
+18-12tools/testing/selftests/net/forwarding/local_termination.sh
+27-0net/qrtr/ns.c
+22-0drivers/net/ethernet/wangxun/libwx/wx_type.h
+183-2733 files not shown
+304-11039 files

Linux/linux 26aa834tools/tracing/rtla/src timerlat_hist.c timerlat_top.c

Merge tag 'trace-tools-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull tracing tool updates from Steven Rostedt:
 "Specific for timerlat:

   - Improve the output of timerlat top by adding a missing \n, and by
     avoiding printing color-formatting characters where they are
     translated to regular characters.

   - Improve timerlat auto-analysis output by replacing '\t' with spaces
     to avoid copy-and-paste issues when reporting problems.

   - Make the user-space (-u) option the default, as it is the most
     complete test. Add a -k option to use the in-kernel workload.

   - On timerlat top and hist, add a summary with the overall results.
     For instance, the minimum value for all CPUs, the overall average
     and the maximum value from all CPUs.


    [30 lines not shown]
DeltaFile
+251-43tools/tracing/rtla/src/timerlat_hist.c
+207-43tools/tracing/rtla/src/timerlat_top.c
+63-46tools/tracing/rtla/src/timerlat_aa.c
+47-8tools/tracing/rtla/src/osnoise_hist.c
+48-7tools/tracing/rtla/src/osnoise_top.c
+15-0tools/tracing/rtla/src/trace.c
+631-1475 files not shown
+653-15311 files

Linux/linux fa3889dkernel/trace trace_events_user.c, tools/testing/selftests/user_events ftrace_test.c

Merge tag 'trace-user-events-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull tracing user-event updates from Steven Rostedt:

 - Minor update to the user_events interface

  The ABI of creating a user event states that the fields are separated
  by semicolons, and spaces should be ignored.

  But the parsing expected at least one space to be there (which was
  incorrect). Fix the reading of the string to handle fields separated
  by semicolons but no space between them.

  This does extend the API sightly as now "field;field" will now be
  parsed and not cause an error. But it should not cause any regressions
  as no logic should expect it to fail.

  Note, that the logic that parses the event fields to create the
  trace_event works with no spaces after the semi-colon. It is

    [8 lines not shown]
DeltaFile
+75-1kernel/trace/trace_events_user.c
+8-0tools/testing/selftests/user_events/ftrace_test.c
+83-12 files

Linux/linux 53683e4Documentation/trace ring-buffer-map.rst, include/uapi/linux trace_mmap.h

Merge tag 'trace-ringbuffer-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull tracing ring buffer updates from Steven Rostedt:
 "Add ring_buffer memory mappings.

  The tracing ring buffer was created based on being mostly used with
  the splice system call. It is broken up into page ordered sub-buffers
  and the reader swaps a new sub-buffer with an existing sub-buffer
  that's part of the write buffer. It then has total access to the
  swapped out sub-buffer and can do copyless movements of the memory
  into other mediums (file system, network, etc).

  The buffer is great for passing around the ring buffer contents in the
  kernel, but is not so good for when the consumer is the user space
  task itself.

  A new interface is added that allows user space to memory map the ring
  buffer. It will get all the write sub-buffers as well as reader
  sub-buffer (that is not written to). It can send an ioctl to change

    [27 lines not shown]
DeltaFile
+460-11kernel/trace/ring_buffer.c
+294-0tools/testing/selftests/ring-buffer/map_test.c
+106-0Documentation/trace/ring-buffer-map.rst
+99-5kernel/trace/trace.c
+48-0include/uapi/linux/trace_mmap.h
+8-0tools/testing/selftests/ring-buffer/Makefile
+1,015-165 files not shown
+1,026-1611 files

Linux/linux 594d281fs/tracefs event_inode.c, include/linux ftrace.h

Merge tag 'trace-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull tracing updates from Steven Rostedt:

 - Remove unused ftrace_direct_funcs variables

 - Fix a possible NULL pointer dereference race in eventfs

 - Update do_div() usage in trace event benchmark test

 - Speedup direct function registration with asynchronous RCU callback.

   The synchronization was done in the registration code and this caused
   delays when registering direct callbacks. Move the freeing to a
   call_rcu() that will prevent delaying of the registering.

 - Replace simple_strtoul() usage with kstrtoul()

* tag 'trace-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:

    [7 lines not shown]
DeltaFile
+35-33kernel/trace/ftrace.c
+0-11kernel/trace/fgraph.c
+3-4fs/tracefs/event_inode.c
+0-3include/linux/ftrace.h
+1-1kernel/trace/trace_benchmark.c
+39-525 files

Linux/linux 70a6632include/linux objpool.h, kernel/trace trace_uprobe.c trace_probe.c

Merge tag 'probes-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull probes updates from Masami Hiramatsu:

 - tracing/probes: Add new pseudo-types %pd and %pD support for dumping
   dentry name from 'struct dentry *' and file name from 'struct file *'

 - uprobes performance optimizations:
    - Speed up the BPF uprobe event by delaying the fetching of the
      uprobe event arguments that are not used in BPF
    - Avoid locking by speculatively checking whether uprobe event is
      valid
    - Reduce lock contention by using read/write_lock instead of
      spinlock for uprobe list operation. This improved BPF uprobe
      benchmark result 43% on average

 - rethook: Remove non-fatal warning messages when tracing stack from
   BPF and skip rcu_is_watching() validation in rethook if possible


    [26 lines not shown]
DeltaFile
+6-106lib/objpool.c
+101-4include/linux/objpool.h
+59-44kernel/trace/trace_uprobe.c
+63-0kernel/trace/trace_probe.c
+41-0tools/testing/selftests/ftrace/test.d/dynevent/fprobe_args_vfs.tc
+40-0tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_vfs.tc
+310-15420 files not shown
+406-17626 files

Linux/linux e9d6825init main.c

Merge tag 'bootconfig-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull bootconfig updates from Masami Hiramatsu:

 - Do not put unneeded quotes on the extra command line items which was
   inserted from the bootconfig.

 - Remove redundant spaces from the extra command line.

* tag 'bootconfig-v6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  init/main.c: Minor cleanup for the setup_command_line() function
  init/main.c: Remove redundant space from saved_command_line
  bootconfig: do not put quotes on cmdline items unless necessary
DeltaFile
+10-7init/main.c
+10-71 files

Linux/linux 91b6163fs/proc proc_sysctl.c, include/linux sysctl.h

Merge tag 'sysctl-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/sysctl/sysctl

Pull sysctl updates from Joel Granados:

 - Remove sentinel elements from ctl_table structs in kernel/*

   Removing sentinels in ctl_table arrays reduces the build time size
   and runtime memory consumed by ~64 bytes per array. Removals for
   net/, io_uring/, mm/, ipc/ and security/ are set to go into mainline
   through their respective subsystems making the next release the most
   likely place where the final series that removes the check for
   proc_name == NULL will land.

   This adds to removals already in arch/, drivers/ and fs/.

 - Adjust ctl_table definitions and references to allow constification
     - Remove unused ctl_table function arguments
     - Move non-const elements from ctl_table to ctl_table_header
     - Make ctl_table pointers const in ctl_table_root structure

    [23 lines not shown]
DeltaFile
+12-13include/linux/sysctl.h
+9-12fs/proc/proc_sysctl.c
+2-3ipc/mq_sysctl.c
+2-3kernel/ucount.c
+2-3ipc/ipc_sysctl.c
+1-2net/sysctl_net.c
+28-3629 files not shown
+28-6735 files

Linux/linux 06f054bDocumentation/devicetree/bindings/display atmel,lcdc-display.yaml atmel,lcdc.txt, Documentation/devicetree/bindings/display/exynos exynos_dp.txt

Merge tag 'devicetree-for-6.10' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull devicetree updates from Rob Herring:
 "DT Bindings:

   - Convert samsung,exynos5-dp, atmel,lcdc, aspeed,ast2400-wdt bindings
     to schemas

   - Add bindings for Allwinner H616 NMI controller, Renesas r8a779g0
     irqc, Renesas R-Car V4M TMU and CMT timers, Freescale S32G3
     linflexuart, and Mediatek MT7988 XHCI

   - Add 'reg' constraints on DSI and SPI display panels

   - More dropping of unnecessary quotes in schemas

   - Use full paths rather than relative paths in schema $refs

   - Drop redundant storing of phandle for reserved memory

    [33 lines not shown]
DeltaFile
+163-0Documentation/devicetree/bindings/display/samsung/samsung,exynos5-dp.yaml
+142-0Documentation/devicetree/bindings/watchdog/aspeed,ast2400-wdt.yaml
+39-74drivers/of/address.c
+0-112Documentation/devicetree/bindings/display/exynos/exynos_dp.txt
+103-0Documentation/devicetree/bindings/display/atmel,lcdc-display.yaml
+0-87Documentation/devicetree/bindings/display/atmel,lcdc.txt
+447-27393 files not shown
+853-58899 files

Linux/linux fe56d6etools/testing/selftests/net/forwarding local_termination.sh

selftests: net: local_termination: annotate the expected failures

Vladimir said when adding this test:

  The bridge driver fares particularly badly [...] mainly because
  it does not implement IFF_UNICAST_FLT.

See commit 90b9566aa5cd ("selftests: forwarding: add a test for
local_termination.sh").

We don't want to hide the known gaps, but having a test which
always fails prevents us from catching regressions. Report
the cases we know may fail as XFAIL.

Reviewed-by: Simon Horman <horms at kernel.org>
Reviewed-by: Hangbin Liu <liuhangbin at gmail.com>
Reviewed-by: Petr Machata <petrm at nvidia.com>
Link: https://lore.kernel.org/r/20240516152513.1115270-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+18-12tools/testing/selftests/net/forwarding/local_termination.sh
+18-121 files

Linux/linux f0fa841drivers/net/dsa/microchip ksz_dcb.c

net: dsa: microchip: Correct initialization order for KSZ88x3 ports

Adjust the initialization sequence of KSZ88x3 switches to enable
802.1p priority control on Port 2 before configuring Port 1. This
change ensures the apptrust functionality on Port 1 operates
correctly, as it depends on the priority settings of Port 2. The
prior initialization sequence incorrectly configured Port 1 first,
which could lead to functional discrepancies.

Fixes: a1ea57710c9d ("net: dsa: microchip: dcb: add special handling for KSZ88X3 family")
Signed-off-by: Oleksij Rempel <o.rempel at pengutronix.de>
Reviewed-by: Hariprasad Kelam <hkelam at marvell.com>
Acked-by: Arun Ramadoss <arun.ramadoss at microchip.com>
Link: https://lore.kernel.org/r/20240517050121.2174412-1-o.rempel@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+10-0drivers/net/dsa/microchip/ksz_dcb.c
+10-01 files

Linux/linux 31279b0. MAINTAINERS

MAINTAINERS: net: Update reviewers for TI's Ethernet drivers

Remove myself as reviewer for TI's ethernet drivers

Signed-off-by: Ravi Gunasekaran <r-gunasekaran at ti.com>
Reviewed-by: Roger Quadros <rogerq at kernel.org>
Link: https://lore.kernel.org/r/20240516082545.6412-1-r-gunasekaran@ti.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+0-1MAINTAINERS
+0-11 files

Linux/linux ce08eebDocumentation/devicetree/bindings/net ti,k3-am654-cpsw-nuss.yaml ti,cpsw-switch.yaml

dt-bindings: net: ti: Update maintainers list

Update the list with the current maintainers of TI's CPSW ethernet
peripheral.

Signed-off-by: Ravi Gunasekaran <r-gunasekaran at ti.com>
Acked-by: Conor Dooley <conor.dooley at microchip.com>
Acked-by: Roger Quadros <rogerq at kernel.org>
Link: https://lore.kernel.org/r/20240516054932.27597-1-r-gunasekaran@ti.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+0-1Documentation/devicetree/bindings/net/ti,k3-am654-cpsw-nuss.yaml
+0-1Documentation/devicetree/bindings/net/ti,cpsw-switch.yaml
+0-1Documentation/devicetree/bindings/net/ti,k3-am654-cpts.yaml
+0-33 files

Linux/linux 6e828dcnet/l2tp l2tp_core.c

l2tp: fix ICMP error handling for UDP-encap sockets

Since commit a36e185e8c85
("udp: Handle ICMP errors for tunnels with same destination port on both endpoints")
UDP's handling of ICMP errors has allowed for UDP-encap tunnels to
determine socket associations in scenarios where the UDP hash lookup
could not.

Subsequently, commit d26796ae58940
("udp: check udp sock encap_type in __udp_lib_err")
subtly tweaked the approach such that UDP ICMP error handling would be
skipped for any UDP socket which has encapsulation enabled.

In the case of L2TP tunnel sockets using UDP-encap, this latter
modification effectively broke ICMP error reporting for the L2TP
control plane.

To a degree this isn't catastrophic inasmuch as the L2TP control
protocol defines a reliable transport on top of the underlying packet

    [25 lines not shown]
DeltaFile
+33-11net/l2tp/l2tp_core.c
+33-111 files

Linux/linux 7ee332carch/parisc/include/asm signal.h page.h, arch/parisc/include/uapi/asm signal.h

Merge tag 'parisc-for-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux

Pull parisc updates from Helge Deller:

 -  define sigset_t in parisc uapi header to fix build of util-linux

 -  define HAVE_ARCH_HUGETLB_UNMAPPED_AREA to avoid compiler warning

 -  drop unused 'exc_reg' struct in math-emu code

* tag 'parisc-for-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
  parisc: Define HAVE_ARCH_HUGETLB_UNMAPPED_AREA
  parisc/math-emu: Remove unused struct 'exc_reg'
  parisc: Define sigset_t in parisc uapi header
DeltaFile
+0-12arch/parisc/include/asm/signal.h
+10-0arch/parisc/include/uapi/asm/signal.h
+0-6arch/parisc/math-emu/driver.c
+1-0arch/parisc/include/asm/page.h
+11-184 files

Linux/linux ff2632darch/powerpc/kernel fadump.c, arch/powerpc/kexec file_load_64.c ranges.c

Merge tag 'powerpc-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc updates from Michael Ellerman:

 - Enable BPF Kernel Functions (kfuncs) in the powerpc BPF JIT.

 - Allow per-process DEXCR (Dynamic Execution Control Register) settings
   via prctl, notably NPHIE which controls hashst/hashchk for ROP
   protection.

 - Install powerpc selftests in sub-directories. Note this changes the
   way run_kselftest.sh needs to be invoked for powerpc selftests.

 - Change fadump (Firmware Assisted Dump) to better handle memory
   add/remove.

 - Add support for passing additional parameters to the fadump kernel.

 - Add support for updating the kdump image on CPU/memory add/remove

    [38 lines not shown]
DeltaFile
+345-197arch/powerpc/kernel/fadump.c
+206-114arch/powerpc/platforms/pseries/rtas-fadump.c
+36-278arch/powerpc/kexec/file_load_64.c
+303-9arch/powerpc/kexec/ranges.c
+215-0tools/testing/selftests/powerpc/dexcr/dexcr_test.c
+195-0arch/powerpc/kexec/crash.c
+1,300-598193 files not shown
+3,052-1,270199 files

Linux/linux 4853f1farch/arm/mm cache.c proc.c

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux

Pull ARM updates from Russell King:

 - Updates to AMBA bus subsystem to drop .owner struct device_driver
   initialisations, moving that to code instead.

 - Add LPAE privileged-access-never support

 - Add support for Clang CFI

 - clkdev: report over-sized device or connection strings

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux: (36 commits)
  ARM: 9398/1: Fix userspace enter on LPAE with CC_OPTIMIZE_FOR_SIZE=y
  clkdev: report over-sized strings when creating clkdev entries
  ARM: 9393/1: mm: Use conditionals for CFI branches
  ARM: 9392/2: Support CLANG CFI
  ARM: 9391/2: hw_breakpoint: Handle CFI breakpoints

    [16 lines not shown]
DeltaFile
+663-0arch/arm/mm/cache.c
+500-0arch/arm/mm/proc.c
+55-72arch/arm/mm/proc-xscale.S
+47-58arch/arm/mm/proc-feroceon.S
+84-0arch/arm/mm/tlb.c
+27-49arch/arm/mm/cache-v7.S
+1,376-17978 files not shown
+2,608-1,01484 files

Linux/linux 1d3c641drivers/net/ethernet/wangxun/libwx wx_type.h wx_lib.c, drivers/net/ethernet/wangxun/ngbe ngbe_ethtool.c

net: txgbe: fix to control VLAN strip

When VLAN tag strip is changed to enable or disable, the hardware requires
the Rx ring to be in a disabled state, otherwise the feature cannot be
changed.

Fixes: f3b03c655f67 ("net: wangxun: Implement vlan add and kill functions")
Signed-off-by: Jiawen Wu <jiawenwu at trustnetic.com>
Reviewed-by: Simon Horman <horms at kernel.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
DeltaFile
+30-0drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
+22-0drivers/net/ethernet/wangxun/libwx/wx_type.h
+13-5drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c
+13-5drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
+3-3drivers/net/ethernet/wangxun/libwx/wx_lib.c
+2-0drivers/net/ethernet/wangxun/libwx/wx_hw.c
+83-131 files not shown
+84-137 files

Linux/linux f6f25eedrivers/net/ethernet/wangxun/libwx wx_lib.c wx_type.h, drivers/net/ethernet/wangxun/ngbe ngbe_ethtool.c

Merge branch 'wangxun-fixes'

Jiawen Wu says:

====================
Wangxun fixes

Fixed some bugs when using ethtool to operate network devices.

v4 -> v5:
- Simplify if...else... to fix features.

v3 -> v4:
- Require both ctag and stag to be enabled or disabled.

v2 -> v3:
- Drop the first patch.

v1 -> v2:

    [8 lines not shown]
DeltaFile
+52-4drivers/net/ethernet/wangxun/libwx/wx_lib.c
+31-0drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
+22-0drivers/net/ethernet/wangxun/libwx/wx_type.h
+13-5drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c
+13-5drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c
+2-0drivers/net/ethernet/wangxun/libwx/wx_lib.h
+133-143 files not shown
+137-149 files

Linux/linux ac71ab7drivers/net/ethernet/wangxun/libwx wx_lib.c wx_lib.h, drivers/net/ethernet/wangxun/ngbe ngbe_main.c

net: wangxun: match VLAN CTAG and STAG features

Hardware requires VLAN CTAG and STAG configuration always matches. And
whether VLAN CTAG or STAG changes, the configuration needs to be changed
as well.

Fixes: 6670f1ece2c8 ("net: txgbe: Add netdev features support")
Signed-off-by: Jiawen Wu <jiawenwu at trustnetic.com>
Reviewed-by: Sai Krishna <saikrishnag at marvell.com>
Reviewed-by: Simon Horman <horms at kernel.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
DeltaFile
+46-0drivers/net/ethernet/wangxun/libwx/wx_lib.c
+2-0drivers/net/ethernet/wangxun/libwx/wx_lib.h
+1-0drivers/net/ethernet/wangxun/ngbe/ngbe_main.c
+1-0drivers/net/ethernet/wangxun/txgbe/txgbe_main.c
+50-04 files

Linux/linux 68067f0drivers/net/ethernet/wangxun/libwx wx_lib.c

net: wangxun: fix to change Rx features

Fix the issue where some Rx features cannot be changed.

When using ethtool -K to turn off rx offload, it returns error and
displays "Could not change any device features". And netdev->features
is not assigned a new value to actually configure the hardware.

Fixes: 6dbedcffcf54 ("net: libwx: Implement xx_set_features ops")
Signed-off-by: Jiawen Wu <jiawenwu at trustnetic.com>
Reviewed-by: Simon Horman <horms at kernel.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
DeltaFile
+3-1drivers/net/ethernet/wangxun/libwx/wx_lib.c
+3-11 files

Linux/linux 581073fnet/packet af_packet.c

af_packet: do not call packet_read_pending() from tpacket_destruct_skb()

trafgen performance considerably sank on hosts with many cores
after the blamed commit.

packet_read_pending() is very expensive, and calling it
in af_packet fast path defeats Daniel intent in commit
b013840810c2 ("packet: use percpu mmap tx frame pending refcount")

tpacket_destruct_skb() makes room for one packet, we can immediately
wakeup a producer, no need to completely drain the tx ring.

Fixes: 89ed5b519004 ("af_packet: Block execution of tasks waiting for transmit to complete in AF_PACKET")
Signed-off-by: Eric Dumazet <edumazet at google.com>
Cc: Neil Horman <nhorman at tuxdriver.com>
Cc: Daniel Borkmann <daniel at iogearbox.net>
Reviewed-by: Willem de Bruijn <willemb at google.com>
Link: https://lore.kernel.org/r/20240515163358.4105915-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+1-2net/packet/af_packet.c
+1-21 files

Linux/linux fa033dedrivers/net virtio_net.c

virtio_net: Fix missed rtnl_unlock

The rtnl_lock would stay locked if allocating promisc_allmulti failed.
Also changed the allocation to GFP_KERNEL.

Fixes: ff7c7d9f5261 ("virtio_net: Remove command data from control_buf")
Reported-by: Eric Dumazet <edumaset at google.com>
Link: https://lore.kernel.org/netdev/CANn89iLazVaUCvhPm6RPJJ0owra_oFnx7Fhc8d60gV-65ad3WQ@mail.gmail.com/
Signed-off-by: Daniel Jurgens <danielj at nvidia.com>
Reviewed-by: Brett Creeley <brett.creeley at amd.com>
Reviewed-by: Eric Dumazet <edumazet at google.com>
Acked-by: Michael S. Tsirkin <mst at redhat.com>
Acked-by: Jason Wang <jasowang at redhat.com>
Link: https://lore.kernel.org/r/20240515163125.569743-1-danielj@nvidia.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+3-3drivers/net/virtio_net.c
+3-31 files

Linux/linux e03e7f2net/netrom nr_route.c

netrom: fix possible dead-lock in nr_rt_ioctl()

syzbot loves netrom, and found a possible deadlock in nr_rt_ioctl [1]

Make sure we always acquire nr_node_list_lock before nr_node_lock(nr_node)

[1]
WARNING: possible circular locking dependency detected
6.9.0-rc7-syzkaller-02147-g654de42f3fc6 #0 Not tainted
------------------------------------------------------
syz-executor350/5129 is trying to acquire lock:
 ffff8880186e2070 (&nr_node->node_lock){+...}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:356 [inline]
 ffff8880186e2070 (&nr_node->node_lock){+...}-{2:2}, at: nr_node_lock include/net/netrom.h:152 [inline]
 ffff8880186e2070 (&nr_node->node_lock){+...}-{2:2}, at: nr_dec_obs net/netrom/nr_route.c:464 [inline]
 ffff8880186e2070 (&nr_node->node_lock){+...}-{2:2}, at: nr_rt_ioctl+0x1bb/0x1090 net/netrom/nr_route.c:697

but task is already holding lock:
 ffffffff8f7053b8 (nr_node_list_lock){+...}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:356 [inline]
 ffffffff8f7053b8 (nr_node_list_lock){+...}-{2:2}, at: nr_dec_obs net/netrom/nr_route.c:462 [inline]

    [96 lines not shown]
DeltaFile
+7-12net/netrom/nr_route.c
+7-121 files

Linux/linux 6770815drivers/net/ethernet/intel/idpf idpf_ethtool.c

idpf: don't skip over ethtool tcp-data-split setting

Disabling tcp-data-split on idpf silently fails:
  # ethtool -G $NETDEV tcp-data-split off
  # ethtool -g $NETDEV | grep 'TCP data split'
  TCP data split:        on

But it works if you also change 'tx' or 'rx':
  # ethtool -G $NETDEV tcp-data-split off tx 256
  # ethtool -g $NETDEV | grep 'TCP data split'
  TCP data split:        off

The bug is in idpf_set_ringparam, where it takes a shortcut out if the
TX and RX sizes are not changing. Fix it by checking also if the
tcp-data-split setting remains unchanged. Only then can the soft reset
be skipped.

Fixes: 9b1aa3ef2328 ("idpf: add get/set for Ethtool's header split ringparam")
Reported-by: Xu Du <xudu at redhat.com>

    [5 lines not shown]
DeltaFile
+2-1drivers/net/ethernet/intel/idpf/idpf_ethtool.c
+2-11 files

Linux/linux fe32622Documentation/devicetree/bindings/net qcom,ethqos.yaml

dt-bindings: net: qcom: ethernet: Allow dma-coherent

On SA8775P, Ethernet DMA controller is coherent with the CPU.
allow specifying that.

Signed-off-by: Sagar Cheluvegowda <quic_scheluve at quicinc.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski at linaro.org>
Link: https://lore.kernel.org/r/20240514-mark_ethernet_devices_dma_coherent-v4-2-04e1198858c5@quicinc.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+2-0Documentation/devicetree/bindings/net/qcom,ethqos.yaml
+2-01 files

Linux/linux a45835adrivers/net/bonding bond_main.c

bonding: fix oops during rmmod

"rmmod bonding" causes an oops ever since commit cc317ea3d927 ("bonding:
remove redundant NULL check in debugfs function").  Here are the relevant
functions being called:

bonding_exit()
  bond_destroy_debugfs()
    debugfs_remove_recursive(bonding_debug_root);
    bonding_debug_root = NULL; <--------- SET TO NULL HERE
  bond_netlink_fini()
    rtnl_link_unregister()
      __rtnl_link_unregister()
        unregister_netdevice_many_notify()
          bond_uninit()
            bond_debug_unregister()
              (commit removed check for bonding_debug_root == NULL)
              debugfs_remove()
              simple_recursive_removal()

    [33 lines not shown]
DeltaFile
+7-6drivers/net/bonding/bond_main.c
+7-61 files

Linux/linux bb48727net/ipv6 route.c

net/ipv6: Fix route deleting failure when metric equals 0

Problem
=========
After commit 67f695134703 ("ipv6: Move setting default metric for routes"),
we noticed that the logic of assigning the default value of fc_metirc
changed in the ioctl process. That is, when users use ioctl(fd, SIOCADDRT,
rt) with a non-zero metric to add a route,  then they may fail to delete a
route with passing in a metric value of 0 to the kernel by ioctl(fd,
SIOCDELRT, rt). But iproute can succeed in deleting it.

As a reference, when using iproute tools by netlink to delete routes with
a metric parameter equals 0, like the command as follows:

        ip -6 route del fe80::/64 via fe81::5054:ff:fe11:3451 dev eth0 metric 0

the user can still succeed in deleting the route entry with the smallest
metric.


    [29 lines not shown]
DeltaFile
+4-1net/ipv6/route.c
+4-11 files

Linux/linux 988af27tools/testing/selftests/net xfrm_policy.sh

selftests/net: reduce xfrm_policy test time

The check_random_order test add/get plenty of xfrm rules, which consume
a lot time on debug kernel and always TIMEOUT. Let's reduce the test
loop and see if it works.

Signed-off-by: Hangbin Liu <liuhangbin at gmail.com>
Link: https://lore.kernel.org/r/20240514095227.2597730-1-liuhangbin@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+2-2tools/testing/selftests/net/xfrm_policy.sh
+2-21 files