Bug#1102914:
Hi Milan,
On Tue, Apr 15, 2025 at 05:01:15PM +0200, Milan Broz wrote:
> Hi,
>
> I tried upstream stable git and bisect, this is the conclusion:
>
> - upstream 6.1.134 is still broken
>
> - bisect points to this patch
> (Patch cannot be easily reverted, it need some other patches, anyway, it can be used as reference what need to be backported)
>
> 476c1dfefab8b98ae9c3e3ad283c2ac10d30c774 is the first bad commit
> commit 476c1dfefab8b98ae9c3e3ad283c2ac10d30c774
> Author: David Howells <dhowells@redhat.com>
> Date: Fri May 26 22:41:40 2023 +0100
>
> mm: Don't pin ZERO_PAGE in pin_user_pages()
>
> [ Upstream commit c8070b78751955e59b42457b974bea4a4fe00187 ]
>
> Make pin_user_pages*() leave a ZERO_PAGE unpinned if it extracts a pointer
> to it from the page tables and make unpin_user_page*() correspondingly
> ignore a ZERO_PAGE when unpinning. We don't want to risk overrunning a
> zero page's refcount as we're only allowed ~2 million pins on it -
> something that userspace can conceivably trigger.
>
> Add a pair of functions to test whether a page or a folio is a ZERO_PAGE.
>
> Signed-off-by: David Howells <dhowells@redhat.com>
> cc: Christoph Hellwig <hch@infradead.org>
> cc: David Hildenbrand <david@redhat.com>
> cc: Lorenzo Stoakes <lstoakes@gmail.com>
> cc: Andrew Morton <akpm@linux-foundation.org>
> cc: Jens Axboe <axboe@kernel.dk>
> cc: Al Viro <viro@zeniv.linux.org.uk>
> cc: Matthew Wilcox <willy@infradead.org>
> cc: Jan Kara <jack@suse.cz>
> cc: Jeff Layton <jlayton@kernel.org>
> cc: Jason Gunthorpe <jgg@nvidia.com>
> cc: Logan Gunthorpe <logang@deltatee.com>
> cc: Hillf Danton <hdanton@sina.com>
> cc: Christian Brauner <brauner@kernel.org>
> cc: Linus Torvalds <torvalds@linux-foundation.org>
> cc: linux-fsdevel@vger.kernel.org
> cc: linux-block@vger.kernel.org
> cc: linux-kernel@vger.kernel.org
> cc: linux-mm@kvack.org
> Reviewed-by: Lorenzo Stoakes <lstoakes@gmail.com>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Acked-by: David Hildenbrand <david@redhat.com>
> Link: https://lore.kernel.org/r/20230526214142.958751-2-dhowells@redhat.com
> Signed-off-by: Jens Axboe <axboe@kernel.dk>
> Stable-dep-of: bddf10d26e6e ("uprobes: Reject the shared zeropage in uprobe_write_opcode()")
> Signed-off-by: Sasha Levin <sashal@kernel.org>
>
> Documentation/core-api/pin_user_pages.rst | 6 ++++++
> include/linux/mm.h | 26 ++++++++++++++++++++++++--
> mm/gup.c | 31 ++++++++++++++++++++++++++++++-
> 3 files changed, 60 insertions(+), 3 deletions(-)
>
> If you are going to write a mail to upstream kernel list, please cc me.
Thanks for doing that work, I will forward the bug report now upstream
(and sure will include you on CC).
Regards,
Salvatore
Reply to: