From: Willy Tarreau <w@1wt.eu>
To: Youngsung Ahn <ays511.kr@gmail.com>
Cc: Zhu Yanjun <yanjun.zhu@linux.dev>,
zyjzyj2000@gmail.com, linux-rdma@vger.kernel.org,
security@kernel.org
Subject: Re: [PATCH] RDMA/rxe: bound the ODP page index against the umem in rxe_check_pagefault()
Date: Wed, 30 Sep 2026 21:25:04 +0200 [thread overview]
Message-ID: <ar1iENLJynuJuU27@1wt.eu> (raw)
In-Reply-To: <20260930175145.2491352-1-ays511.kr@gmail.com>
Hello,
On Thu, Oct 01, 2026 at 02:51:45AM +0900, Youngsung Ahn wrote:
> An ODP MR's page array map.pfn_list[] is sized from the umem's
> start, but rxe_check_pagefault() indexes it with an iova taken
> relative to that start, while the access was range-checked against
> the MR's iova (ibmr.iova). reg_mr only requires start and hca_va to
> share a page offset, so a user can register with hca_va =
> start + N*PAGE, and the index skew (hca_va - start) >> PAGE_SHIFT
> then lands out of bounds of pfn_list[], which is read with no bound
> check. An unprivileged local user reaches this with a single RDMA
> operation on a self-connected rxe QP: observed as a KASAN
> slab-out-of-bounds read and, when the out-of-bounds qword looks like
> a writable HMM pfn, a write into an attacker-influenced page.
>
> Reject an index that leaves the umem and force the fault path, which
> fails the out-of-range access via the umem range check in
> ib_umem_odp_map_dma_and_lock(). The downstream pfn_list[] users
> (__rxe_odp_mr_copy() and the atomic helpers) run only after a
> successful map, so this check protects them as well.
>
> Fixes: 2fae67ab63db ("RDMA/rxe: Add support for Send/Recv/Write/Read with ODP")
> Signed-off-by: Youngsung Ahn <ays511.kr@gmail.com>
Are you sure you're not missing an Assisted-by: tag here ?
I didn't notice that you sent this to a public list, that's fine but in
this case there's no need to Cc security@k.o since the essential role of
the team is to help route the message to its destination :-)
thanks,
Willy
next prev parent reply other threads:[~2026-09-30 19:25 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-30 17:51 [PATCH] RDMA/rxe: bound the ODP page index against the umem in rxe_check_pagefault() Youngsung Ahn
2026-09-30 18:03 ` sashiko-bot
2026-09-30 19:25 ` Willy Tarreau [this message]
2026-10-01 15:23 ` [PATCH v2] " Youngsung Ahn
2026-10-01 15:37 ` sashiko-bot
-- strict thread matches above, loose matches on Subject: below --
2026-09-30 15:15 [PATCH] " AYS
2026-10-01 16:01 ` Leon Romanovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ar1iENLJynuJuU27@1wt.eu \
--to=w@1wt.eu \
--cc=ays511.kr@gmail.com \
--cc=linux-rdma@vger.kernel.org \
--cc=security@kernel.org \
--cc=yanjun.zhu@linux.dev \
--cc=zyjzyj2000@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.