Whamcloud - gitweb
LU-16430 ptlrpc: racy rq_obsolete bit modification 05/49505/6
authorAndriy Skulysh <andriy.skulysh@hpe.com>
Thu, 24 Nov 2022 13:18:04 +0000 (15:18 +0200)
committerOleg Drokin <green@whamcloud.com>
Tue, 1 Aug 2023 06:14:27 +0000 (06:14 +0000)
commit14ac768fd9633c5cf4474555170e5042c71a135b
tree4a4ab0b087796931eba5296c73200a6c6baf820f
parent46938c53461d136b71a32c4951b1776e2d226648
LU-16430 ptlrpc: racy rq_obsolete bit modification

Racy bit modification causes assertion failure in
ptlrpc_at_remove_timed():
ASSERTION( !list_empty(&req->rq_srv.sr_timed_list) )

rq_obsolete is a bit field, so it's modification
isn't atomic and should be modified under rq_lock.

Change-Id: Ib1d3ad189a78b71ecf5b01585478922e984c9568
HPE-bug-id: LUS-11368
Fixes:  23773b32bf ("LU-11444 ptlrpc: resend may corrupt the data")
Signed-off-by: Andriy Skulysh <andriy.skulysh@hpe.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49505
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alexander Zarochentsev <alexander.zarochentsev@hpe.com>
Reviewed-by: Neil Brown <neilb@suse.de>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/lustre_net.h
lustre/ptlrpc/service.c