aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2023-11-29 09:17:41 +0100
committerIngo Molnar <mingo@kernel.org>2023-11-29 09:17:42 +0100
commitc956a527f70c823595b53be26fa0d56430466c25 (patch)
tree5d0f3d5c6b29e329b502dc566998de1b292cd92f
parent176c2f629cdc500c29a77463b2c26dda6dbb00b2 (diff)
parent8e5647a723c49d73b9f108a8bb38e8c29d3948ea (diff)
downloadqueue-c956a527f70c823595b53be26fa0d56430466c25.tar.gz
Merge branch into tip/master: 'x86/mm'
# New commits in x86/mm: 8e5647a723c4 ("x86/mm: Ensure input to pfn_to_kaddr() is treated as a 64-bit type") Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r--arch/x86/include/asm/page.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/include/asm/page.h b/arch/x86/include/asm/page.h
index d18e5c332cb9f4..1b93ff80b43bcc 100644
--- a/arch/x86/include/asm/page.h
+++ b/arch/x86/include/asm/page.h
@@ -66,10 +66,14 @@ static inline void copy_user_page(void *to, void *from, unsigned long vaddr,
* virt_addr_valid(kaddr) returns true.
*/
#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
-#define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT)
extern bool __virt_addr_valid(unsigned long kaddr);
#define virt_addr_valid(kaddr) __virt_addr_valid((unsigned long) (kaddr))
+static __always_inline void *pfn_to_kaddr(unsigned long pfn)
+{
+ return __va(pfn << PAGE_SHIFT);
+}
+
static __always_inline u64 __canonical_address(u64 vaddr, u8 vaddr_bits)
{
return ((s64)vaddr << (64 - vaddr_bits)) >> (64 - vaddr_bits);