zephyr/subsys
Robert Lubos 37d39425ee net: tcp: Fix possible race between TCP work items and context unref
Fix the possible race between TCP work items already scheduled for
execution, and tcp_conn_unref(), by moving the actual TCP context
releasing to the workqueue itself. That way we can be certain, that when
the work items are cancelled, they won't execute. It could be the case,
that the work item was already being processed by the work queue, so
clearing the context could lead to a crash.

Remove the comments around the mutex lock in the work handlers regarding
the race, as it's not the case anymore. I've kept the locks however, as
they do make sense in those places.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2023-11-30 10:06:50 +01:00
..
bindesc subsys/bindesc: Fix kconfig dependency 2023-11-20 12:02:48 +01:00
bluetooth Bluetooth: l2cap: remove bt_l2cap_chan_send_cb 2023-11-30 10:06:19 +01:00
canbus drivers: can: unify spelling of CAN Flexible Data-rate abbreviation 2023-11-01 11:17:17 +00:00
console
debug shell: do not enable subsystem/driver shell modules by default 2023-11-20 09:21:40 +01:00
demand_paging kernel: mm: only include demand_paging.h if needed 2023-11-23 10:01:45 +01:00
dfu shell: do not enable subsystem/driver shell modules by default 2023-11-20 09:21:40 +01:00
disk
dsp
emul
fb
fs flash host fuse access: Fix for native_sim 2023-11-17 09:23:48 +01:00
input input: make short-inputs optional 2023-11-23 09:51:57 +00:00
ipc ipc: add dynamically allocated buffers to icmsg 2023-11-13 11:11:43 +01:00
jwt random: Rename random header 2023-10-10 14:23:50 +03:00
llext llext: fix symbol address calculation for ET_DYN 2023-11-17 09:25:42 +01:00
logging logging: Add string validation to detect %p misuse 2023-11-24 09:23:18 +01:00
lorawan lorawan: use callback function signature typedefs 2023-11-13 09:53:32 +01:00
mem_mgmt mem_mgmt: Add a memory attributes memory allocator 2023-11-27 19:56:48 +01:00
mgmt mgmt/osdp: Make OSDP slab init safer 2023-11-30 10:02:20 +01:00
modbus modbus: Add dependency to UART runtime configuration 2023-11-15 10:02:18 +01:00
modem modem: backend: uart_async: Remove UART flush 2023-11-20 13:03:08 +01:00
net net: tcp: Fix possible race between TCP work items and context unref 2023-11-30 10:06:50 +01:00
pm
portability portability: fix thread function signatures 2023-10-30 12:24:34 +01:00
random syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
retention retention: blinfo: Fix issue with crash writing to keys 2023-10-12 11:53:21 +01:00
rtio syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
sd sd: add SDIO subsystem 2023-11-06 19:01:08 -05:00
sensing
settings settings: Remove leftover duplicate and unused declarations 2023-11-29 10:09:59 +01:00
shell shell: backends: uart: add public function to access smp shell data 2023-11-15 16:38:16 +01:00
sip_svc
stats shell: do not enable subsystem/driver shell modules by default 2023-11-20 09:21:40 +01:00
storage
task_wdt task_wdt: fix race condition for task_wdt_add function 2023-10-09 16:10:00 +03:00
testsuite testsuite: coverage: allow access to gcov internals 2023-11-29 04:59:47 -08:00
timing
tracing kernel: rename z_current_get() to k_sched_current_thread_query() 2023-09-28 16:15:46 +02:00
usb shell: do not enable subsystem/driver shell modules by default 2023-11-20 09:21:40 +01:00
zbus zbus: remove superflous default n from runtime observers 2023-11-28 15:33:42 +01:00
CMakeLists.txt drivers, subsys: sort the lists again, mark the blocks for checking 2023-11-13 09:41:05 +01:00
Kconfig drivers, subsys: sort the lists again, mark the blocks for checking 2023-11-13 09:41:05 +01:00