Re: [PATCH net v2] net/rds: Do not unpin a page after a failed atomic pin

From: patchwork-bot+netdevbpf

Date: Wed Nov 11 2026 - 05:30:29 EST


Hello:

This patch was applied to netdev/net.git (main)
by Dave Miller <davem@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>:

On Fri, 6 Nov 2026 20:18:04 -0800 you wrote:
> rds_cmsg_atomic() assumes that a non-NULL output from rds_pin_pages()
> represents a pin that it owns. However, pin_user_pages_fast() can roll
> back a fast-GUP pin after racing fork() and then fail in the slow path,
> for example after a concurrent mprotect(PROT_NONE). The output slot can
> still contain the already-unpinned page.
>
> The common error path calls unpin_user_page() on that stale pointer.
> This can consume another subsystem's pin and allow the page to be freed
> while it is still in use. A local unprivileged reproducer triggers a
> KASAN use-after-free write through an io_uring registered buffer.
>
> [...]

Here is the summary with links:
- [net,v2] net/rds: Do not unpin a page after a failed atomic pin
https://git.kernel.org/netdev/net/c/8d5ce4751fad

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html