All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mm: Re-allow pinning of zero pfns
@ 2022-06-10 22:35 Alex Williamson
  2022-06-11  0:21 ` Minchan Kim
  2022-06-11 18:29 ` David Hildenbrand
  0 siblings, 2 replies; 13+ messages in thread
From: Alex Williamson @ 2022-06-10 22:35 UTC (permalink / raw)
  To: akpm, minchan
  Cc: linux-mm, linux-kernel, paulmck, jhubbard, joaodias, jgg, david

The commit referenced below subtly and inadvertently changed the logic
to disallow pinning of zero pfns.  This breaks device assignment with
vfio and potentially various other users of gup.  Exclude the zero page
test from the negation.

Fixes: 1c563432588d ("mm: fix is_pinnable_page against a cma page")
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
---

At least I assume this was inadvertent...  If there's a better fix,
please run with it as I'm out of the office the 1st half of next
week and would like to see this fixed ASAP.  Thanks!

 include/linux/mm.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index bc8f326be0ce..781fae17177d 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1600,7 +1600,7 @@ static inline bool is_pinnable_page(struct page *page)
 	if (mt == MIGRATE_CMA || mt == MIGRATE_ISOLATE)
 		return false;
 #endif
-	return !(is_zone_movable_page(page) || is_zero_pfn(page_to_pfn(page)));
+	return !is_zone_movable_page(page) || is_zero_pfn(page_to_pfn(page));
 }
 #else
 static inline bool is_pinnable_page(struct page *page)



^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-07-29  2:52 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-10 22:35 [PATCH] mm: Re-allow pinning of zero pfns Alex Williamson
2022-06-11  0:21 ` Minchan Kim
2022-06-11 18:29 ` David Hildenbrand
2022-06-15 15:56   ` Jason Gunthorpe
2022-06-23 18:07     ` David Hildenbrand
2022-06-23 20:21       ` Alex Williamson
2022-06-23 20:47         ` Jason Gunthorpe
2022-06-24  0:11           ` Alistair Popple
2022-06-24  1:34             ` Jason Gunthorpe
2022-06-24  1:55               ` Alistair Popple
2022-07-28  8:45                 ` Alistair Popple
2022-07-28  9:23                   ` David Hildenbrand
2022-07-29  2:49                     ` Alistair Popple

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.