diff options
author | 2025-02-26 09:28:12 +0200 | |
---|---|---|
committer | 2025-02-27 18:20:27 -0800 | |
commit | a16f88964c647103dad7743a484b216d488a6352 (patch) | |
tree | 9540ee4959b8ca466d3259391021e4222460bc2d /net/lapb/lapb_timer.c | |
parent | nvme-tcp: fix potential memory corruption in nvme_tcp_recv_pdu() (diff) | |
download | wireguard-linux-a16f88964c647103dad7743a484b216d488a6352.tar.xz wireguard-linux-a16f88964c647103dad7743a484b216d488a6352.zip |
nvmet-tcp: Fix a possible sporadic response drops in weakly ordered arch
The order in which queue->cmd and rcv_state are updated is crucial.
If these assignments are reordered by the compiler, the worker might not
get queued in nvmet_tcp_queue_response(), hanging the IO. to enforce the
the correct reordering, set rcv_state using smp_store_release().
Fixes: bdaf13279192 ("nvmet-tcp: fix a segmentation fault during io parsing error")
Signed-off-by: Meir Elisha <meir.elisha@volumez.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions