aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Williamson <[email protected]>2022-06-10 16:35:13 -0600
committerakpm <[email protected]>2022-06-16 19:11:32 -0700
commit034e5afad921f1c08c001bf147fb1ba76ae33498 (patch)
tree345fc7dbe9433e193e528d1efae2441dcbffec78
parent327b18b7aaed5de3b548212e3ab75133bf323759 (diff)
mm: re-allow pinning of zero pfns
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. Link: https://lkml.kernel.org/r/165490039431.944052.12458624139225785964.stgit@omen Fixes: 1c563432588d ("mm: fix is_pinnable_page against a cma page") Signed-off-by: Alex Williamson <[email protected]> Acked-by: Minchan Kim <[email protected]> Acked-by: David Hildenbrand <[email protected]> Reported-by: Yishai Hadas <[email protected]> Cc: Paul E. McKenney <[email protected]> Cc: John Hubbard <[email protected]> Cc: John Dias <[email protected]> Cc: Jason Gunthorpe <[email protected]> Cc: Zhangfei Gao <[email protected]> Cc: Matthew Wilcox <[email protected]> Cc: Joao Martins <[email protected]> Cc: Yi Liu <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
-rw-r--r--include/linux/mm.h2
1 files changed, 1 insertions, 1 deletions
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)