twx-linux/include
Eric Dumazet 97e719a82b net: fix possible race in skb_attempt_defer_free()
A cpu can observe sd->defer_count reaching 128,
and call smp_call_function_single_async()

Problem is that the remote CPU can clear sd->defer_count
before the IPI is run/acknowledged.

Other cpus can queue more packets and also decide
to call smp_call_function_single_async() while the pending
IPI was not yet delivered.

This is a common issue with smp_call_function_single_async().
Callers must ensure correct synchronization and serialization.

I triggered this issue while experimenting smaller threshold.
Performing the call to smp_call_function_single_async()
under sd->defer_lock protection did not solve the problem.

Commit 5a18ceca6350 ("smp: Allow smp_call_function_single_async()
to insert locked csd") replaced an informative WARN_ON_ONCE()
with a return of -EBUSY, which is often ignored.
Test of CSD_FLAG_LOCK presence is racy anyway.

Fixes: 68822bdf76f1 ("net: generalize skb freeing deferral to per-cpu lists")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-05-16 11:33:59 +01:00
..
acpi ACPI: bus: Eliminate acpi_bus_get_device() 2022-04-05 19:49:26 +02:00
asm-generic bug: Have __warn() prototype defined unconditionally 2022-04-26 10:59:57 +02:00
clocksource
crypto
drm
dt-bindings dt-bindings: clk: mpfs: add defines for two new clocks 2022-04-22 18:40:15 -07:00
keys
kunit
kvm
linux net: fix possible race in skb_attempt_defer_free() 2022-05-16 11:33:59 +01:00
math-emu
media
memory memory: renesas-rpc-if: Fix HF/OSPI data transfer in Manual Mode 2022-04-21 17:00:24 +02:00
misc
net inet: rename INET_MATCH() 2022-05-16 10:31:06 +01:00
pcmcia
ras
rdma RDMA/core: Delete IPsec flow action logic from the core 2022-04-09 08:25:06 +03:00
scsi scsi: iscsi: Fix NOP handling during conn recovery 2022-04-11 22:09:35 -04:00
soc net: mscc: ocelot: move ocelot_port_private :: chip_port to ocelot_port :: index 2022-05-12 16:39:18 -07:00
sound ASoC: Fixes for v5.18 2022-04-19 17:26:01 +02:00
target
trace mptcp: dump infinite_map field in mptcp_dump_mpext 2022-04-23 11:51:05 +01:00
uapi net: add IFLA_TSO_{MAX_SIZE|SEGS} attributes 2022-05-16 10:18:55 +01:00
vdso
video
xen