Re: [PATCH v2] io_uring/rsrc: Simplify buffer cloning by locking both rings
From: Jens Axboe
Date: Wed Jan 15 2025 - 15:32:16 EST
On 1/15/25 1:26 PM, Jann Horn wrote:
> The locking in the buffer cloning code is somewhat complex because it goes
> back and forth between locking the source ring and the destination ring.
>
> Make it easier to reason about by locking both rings at the same time.
> To avoid ABBA deadlocks, lock the rings in ascending kernel address order,
> just like in lock_two_nondirectories().
I'm going to let this one sit for review for a day or two, and since it
depends changes slated for 6.13, I'll queue it up in a post-merge branch
for 6.14 if all goes well.
Thanks!
--
Jens Axboe