Thread (24 messages) 24 messages, 4 authors, 2024-03-12

Re: [PATCH RFC 03/13] mm/gup: Check p4d presence before going on

flat view

From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2024-03-07 20:08:33
Also in: linux-mm, linuxppc-dev, lkml, sparclinux

On Wed, Mar 06, 2024 at 06:41:37PM +0800, peterx@redhat.com wrote:
From: Peter Xu <peterx@redhat.com>

Currently there should have no p4d swap entries so it may not matter much,
however this may help us to rule out swap entries in pXd_huge() API, which
will include p4d_huge().  The p4d_present() checks make it 100% clear that
we won't rely on p4d_huge() for swap entries.

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 mm/gup.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
quoted hunk ↗ jump to hunk
 	p4dp = p4d_offset(pgdp, address);
 	p4d = READ_ONCE(*p4dp);
-	if (p4d_none(p4d))
+	if (p4d_none(p4d) || !p4d_present(p4d))
 		return no_page_table(vma, flags);
Like the other place I think this makes more sense as

    if (!p4_present(p4d))
  		return no_page_table(vma, flags);

Since none can never be present.

IOW if the following code doesn't decode swap entries then it should
be guarded with a chceck on present not none..

Jason

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help