From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Jann Horn <jannh@google.com>,
Jens Axboe <axboe@kernel.dk>
Subject: [PATCH 6.13 18/25] io_uring/rsrc: require cloned buffers to share accounting contexts
Date: Thu, 30 Jan 2025 14:59:04 +0100 [thread overview]
Message-ID: <20250130133457.675520105@linuxfoundation.org> (raw)
In-Reply-To: <20250130133456.914329400@linuxfoundation.org>
6.13-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jann Horn <jannh@google.com>
commit 19d340a2988d4f3e673cded9dde405d727d7e248 upstream.
When IORING_REGISTER_CLONE_BUFFERS is used to clone buffers from uring
instance A to uring instance B, where A and B use different MMs for
accounting, the accounting can go wrong:
If uring instance A is closed before uring instance B, the pinned memory
counters for uring instance B will be decremented, even though the pinned
memory was originally accounted through uring instance A; so the MM of
uring instance B can end up with negative locked memory.
Cc: stable@vger.kernel.org
Closes: https://lore.kernel.org/r/CAG48ez1zez4bdhmeGLEFxtbFADY4Czn3CV0u9d_TMcbvRA01bg@mail.gmail.com
Fixes: 7cc2a6eadcd7 ("io_uring: add IORING_REGISTER_COPY_BUFFERS method")
Signed-off-by: Jann Horn <jannh@google.com>
Link: https://lore.kernel.org/r/20250114-uring-check-accounting-v1-1-42e4145aa743@google.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
io_uring/rsrc.c | 7 +++++++
1 file changed, 7 insertions(+)
--- a/io_uring/rsrc.c
+++ b/io_uring/rsrc.c
@@ -931,6 +931,13 @@ static int io_clone_buffers(struct io_ri
int i, ret, off, nr;
unsigned int nbufs;
+ /*
+ * Accounting state is shared between the two rings; that only works if
+ * both rings are accounted towards the same counters.
+ */
+ if (ctx->user != src_ctx->user || ctx->mm_account != src_ctx->mm_account)
+ return -EINVAL;
+
/* if offsets are given, must have nr specified too */
if (!arg->nr && (arg->dst_off || arg->src_off))
return -EINVAL;
next prev parent reply other threads:[~2025-01-30 13:59 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-30 13:58 [PATCH 6.13 00/25] 6.13.1-rc1 review Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 01/25] gfs2: Truncate address space when flipping GFS2_DIF_JDATA flag Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 02/25] libfs: Return ENOSPC when the directory offset range is exhausted Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 03/25] Revert "libfs: Add simple_offset_empty()" Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 04/25] Revert "libfs: fix infinite directory reads for offset dir" Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 05/25] libfs: Replace simple_offset end-of-directory detection Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 06/25] libfs: Use d_children list to iterate simple_offset directories Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 07/25] smb: client: handle lack of EA support in smb2_query_path_info() Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 08/25] net: sched: fix ets qdisc OOB Indexing Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 09/25] Revert "HID: multitouch: Add support for lenovo Y9000P Touchpad" Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 10/25] cachestat: fix page cache statistics permission checking Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 11/25] vfio/platform: check the bounds of read/write syscalls Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 12/25] scsi: storvsc: Ratelimit warning logs to prevent VM denial of service Greg Kroah-Hartman
2025-01-30 13:58 ` [PATCH 6.13 13/25] USB: serial: quatech2: fix null-ptr-deref in qt2_process_read_urb() Greg Kroah-Hartman
2025-01-30 13:59 ` [PATCH 6.13 14/25] Revert "usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null" Greg Kroah-Hartman
2025-01-30 13:59 ` [PATCH 6.13 15/25] ALSA: usb-audio: Add delay quirk for USB Audio Device Greg Kroah-Hartman
2025-01-30 13:59 ` [PATCH 6.13 16/25] wifi: rtl8xxxu: add more missing rtl8192cu USB IDs Greg Kroah-Hartman
2025-01-30 13:59 ` [PATCH 6.13 17/25] HID: wacom: Initialize brightness of LED trigger Greg Kroah-Hartman
2025-01-30 13:59 ` Greg Kroah-Hartman [this message]
2025-01-30 13:59 ` [PATCH 6.13 19/25] Input: xpad - add support for Nacon Pro Compact Greg Kroah-Hartman
2025-01-30 13:59 ` [PATCH 6.13 20/25] Input: atkbd - map F23 key to support default copilot shortcut Greg Kroah-Hartman
2025-01-30 13:59 ` [PATCH 6.13 21/25] Input: xpad - add unofficial Xbox 360 wireless receiver clone Greg Kroah-Hartman
2025-01-30 13:59 ` [PATCH 6.13 22/25] Input: xpad - add QH Electronics VID/PID Greg Kroah-Hartman
2025-01-30 13:59 ` [PATCH 6.13 23/25] Input: xpad - improve name of 8BitDo controller 2dc8:3106 Greg Kroah-Hartman
2025-01-30 13:59 ` [PATCH 6.13 24/25] Input: xpad - add support for Nacon Evol-X Xbox One Controller Greg Kroah-Hartman
2025-01-30 13:59 ` [PATCH 6.13 25/25] Input: xpad - add support for wooting two he (arm) Greg Kroah-Hartman
2025-01-30 15:58 ` [PATCH 6.13 00/25] 6.13.1-rc1 review Luna Jernberg
2025-01-30 22:06 ` Florian Fainelli
2025-01-31 8:58 ` Greg Kroah-Hartman
2025-01-30 22:26 ` Florian Fainelli
2025-01-31 5:39 ` Jon Hunter
2025-01-31 12:17 ` Christian Heusel
2025-01-31 13:39 ` Ron Economos
2025-01-31 13:43 ` Mark Brown
2025-01-31 14:47 ` Justin Forbes
2025-01-31 15:49 ` Naresh Kamboju
2025-01-31 16:28 ` Muhammad Usama Anjum
2025-02-01 13:17 ` Kexy Biscuit
2025-02-01 14:39 ` Peter Schneider
2025-02-03 10:25 ` Pavel Machek
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=20250130133457.675520105@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=axboe@kernel.dk \
--cc=jannh@google.com \
--cc=patches@lists.linux.dev \
--cc=stable@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox