Re: [PATCH v3 3/9] block: prevent race condition on bi_status in __bio_chain_endio
Christoph Hellwig <[email protected]> Sun, 30 Nov 2025 22:14:53 -0800
| Newsgroups | org.kernel.vger.linux-bcache,dev.linux.lists.ntfs3,dev.linux.lists.nvdimm,dev.linux.lists.virtualization,org.kernel.vger.linux-block,org.kernel.vger.linux-kernel,org.kernel.vger.linux-xfs |
|---|---|
| Message-ID | <[email protected]> |
On Sat, Nov 29, 2025 at 05:01:16PM +0800, zhangshida wrote: > From: Shida Zhang <[email protected]> > > Andreas point out that multiple completions can race setting > bi_status. > > The check (parent->bi_status) and the subsequent write are not an > atomic operation. The value of parent->bi_status could have changed > between the time you read it for the if check and the time you write > to it. So we use cmpxchg to fix the race, as suggested by Christoph. Looks good: Reviewed-by: Christoph Hellwig <[email protected]>