All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Youngsung Ahn" <ays511.kr@gmail.com>
Cc: linux-rdma@vger.kernel.org
Subject: Re: [PATCH] RDMA/rxe: bound the ODP page index against the umem in rxe_check_pagefault()
Date: Wed, 30 Sep 2026 18:03:40 +0000	[thread overview]
Message-ID: <20260930180341.0C4301F00898@smtp.kernel.org> (raw)
In-Reply-To: <20260930175145.2491352-1-ays511.kr@gmail.com>

> 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>

Sashiko has reviewed this patch and found no issues. It looks great!

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260930175145.2491352-1-ays511.kr@gmail.com?part=1


  reply	other threads:[~2026-09-30 18:03 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 [this message]
2026-09-30 19:25 ` Willy Tarreau
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=20260930180341.0C4301F00898@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=ays511.kr@gmail.com \
    --cc=linux-rdma@vger.kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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.