lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <165490039431.944052.12458624139225785964.stgit@omen>
Date:   Fri, 10 Jun 2022 16:35:13 -0600
From:   Alex Williamson <alex.williamson@...hat.com>
To:     akpm@...ux-foundation.org, minchan@...nel.org
Cc:     linux-mm@...ck.org, linux-kernel@...r.kernel.org,
        paulmck@...nel.org, jhubbard@...dia.com, joaodias@...gle.com,
        jgg@...pe.ca, david@...hat.com
Subject: [PATCH] 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.

Fixes: 1c563432588d ("mm: fix is_pinnable_page against a cma page")
Signed-off-by: Alex Williamson <alex.williamson@...hat.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)


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ