Re: [PATCH v3 3/9] block: prevent race condition on bi_status in __bio_chain_endio
From: Christoph Hellwig
Date: Mon Dec 01 2025 - 01:15:17 EST
On Sat, Nov 29, 2025 at 05:01:16PM +0800, zhangshida wrote:
> From: Shida Zhang <zhangshida@xxxxxxxxxx>
>
> 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 <hch@xxxxxx>