From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9A5F4A3F0C for ; Mon, 12 Oct 2026 15:41:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791819707; cv=none; b=jx0MnHx6OXoCGABQ1tDeoi8i1Wcu/uBLLiarzvcE+y7OgryA3PrZNa10XjtmQlhdkiIGtxDPMzmJJR0/wty/r2/017Q3MbgiNt3Nzkpn/q841VKlgEM+E8q67JLnDp93XpY3epFkrL1vpU2Xd6BBQbKhWL2QdF6D3DvmCTuJk+0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791819707; c=relaxed/simple; bh=RCcHKXk99Ml2tjtQbnixbvrshgvSNI9PRkI1QFsItSw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b9p2W1xdJG1rI8IXKwVLr+mXbzXxfXDKwK3QmnsDB0awtMfMSYZ2HaKJ3kkjt/RCvBrUMDo2v6tzqLZaMnKPvKPtqUMnUAq/aKKlT4nafMiZlfxlrxPhOIj2BJU8lptyYISuZ6KeEriP/mVPQCkcGKXL0qLcjDB0WaglFe5k8As= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=eLzVVTAn; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="eLzVVTAn" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1CD3B1F008A1; Mon, 12 Oct 2026 15:41:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1791819706; bh=2PywX7LRsQyXPtv0tNKvqSsZjth6/jWrZHHQ7R07acI=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=eLzVVTAncwlw3FwdzMDvUFR00mtGp8Z44Pd3M7yFiPC/O0uHbrpWty7COtDJXtxfF Q3FxLEaVB2rzbLGuOhwERnoUIl6tXtiJxsYpaJev6MF7ViPBqTEkAd6qGvEQ86lbU7 JkCT4qjsnUgqAiL115xPlBU6Gg8ucFM3kivqGw4d+7tqrEGwmKS+TH+ddWuIBAQq77 RcNVjptcCMy4xBijAqeNxvz9dQsjlctXVqLLwNtzkz3KWyy5Ham7D5wk3HsMFyHbTO uvu9q47p91MAE35qVibBMPAeshtdiyFZOFBh4o3ikEchyoWH7wRC4vzZtwW9edwlin kpuddwKeoh7GQ== From: Sasha Levin To: stable@vger.kernel.org Cc: Jens Axboe , Hengyu Liang , Sasha Levin Subject: [PATCH 7.2.y] io_uring/kbuf: don't charge provided buffer rings to RLIMIT_MEMLOCK Date: Mon, 12 Oct 2026 11:41:45 -0400 Message-ID: <20261012154134.1064649-1-sashal@kernel.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <2026101232-grew-smuggler-50c9@gregkh> References: <2026101232-grew-smuggler-50c9@gregkh> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Jens Axboe [ Upstream commit cde56daf4b93f474dc256dbcc5205035223ae6f5 ] Just like with the SQ and CQ rings, the provided buffer rings were also not charged against the memlock limit prior to the below mentioned commit. Restore that behavior. Fixes: ef62de3c4ad5 ("io_uring/kbuf: use region api for pbuf rings") Reported-by: Hengyu Liang Cc: stable@vger.kernel.org Tested-by: Hengyu Liang Signed-off-by: Jens Axboe Signed-off-by: Sasha Levin --- Depends on <20261012153857.1014795-1-sashal@kernel.org> io_uring/kbuf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/io_uring/kbuf.c b/io_uring/kbuf.c index d2fb952bb7ab6..5065a3eff8094 100644 --- a/io_uring/kbuf.c +++ b/io_uring/kbuf.c @@ -458,7 +458,7 @@ static int io_remove_buffers_legacy(struct io_ring_ctx *ctx, static void io_put_bl(struct io_ring_ctx *ctx, struct io_buffer_list *bl) { if (bl->flags & IOBL_BUF_RING) - io_free_region(ctx->user, &bl->region); + io_free_region(NULL, &bl->region); else io_remove_buffers_legacy(ctx, bl, -1U); @@ -675,7 +675,7 @@ int io_register_pbuf_ring(struct io_ring_ctx *ctx, void __user *arg) rd.user_addr = reg.ring_addr; rd.flags |= IORING_MEM_REGION_TYPE_USER; } - ret = io_create_region(ctx->user, &bl->region, &rd, mmap_offset); + ret = io_create_region(NULL, &bl->region, &rd, mmap_offset); if (ret) goto fail; br = io_region_get_ptr(&bl->region); @@ -708,7 +708,7 @@ int io_register_pbuf_ring(struct io_ring_ctx *ctx, void __user *arg) if (!ret) return 0; fail: - io_free_region(ctx->user, &bl->region); + io_free_region(NULL, &bl->region); kfree(bl); return ret; } -- 2.53.0