Re: [PATCH] fs/netfs/read_collect: add to next->prev_donated
From: David Howells
Date: Fri Feb 14 2025 - 07:48:02 EST
Max Kellermann <max.kellermann@xxxxxxxxx> wrote:
> David, this seems to fix the bug for me. Please also check if we need
> a "donation_changed" check.
Shouldn't do since at that point we've been holding rreq->lock since the last
check.
> If multiple subrequests donate data to the same "next" request
> (depending on the subrequest completion order), each of them would
> overwrite the `prev_donated` field, causing data corruption and a
> BUG() crash ("Can't donate prior to front").
>
> Fixes: ee4cdf7ba857 ("netfs: Speed up buffered reading")
> Closes: https://lore.kernel.org/netfs/CAKPOu+_4mUwYgQtRTbXCmi+-k3PGvLysnPadkmHOyB7Gz0iSMA@xxxxxxxxxxxxxx/
> Signed-off-by: Max Kellermann <max.kellermann@xxxxxxxxx>
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>