aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/arch/sh/include
diff options
context:
space:
mode:
authorMagnus Lindholm <linmag7@gmail.com>2025-02-18 18:55:14 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2025-06-11 14:52:08 -0700
commit403d1338a4a59cfebb4ded53fa35fbd5119f36b1 (patch)
tree117ff0334dae19186f2fc7c131fd78b864965bcf /arch/sh/include
parentKEYS: Invert FINAL_PUT bit (diff)
downloadwireguard-linux-403d1338a4a59cfebb4ded53fa35fbd5119f36b1.tar.xz
wireguard-linux-403d1338a4a59cfebb4ded53fa35fbd5119f36b1.zip
mm: pgtable: fix pte_swp_exclusive
Make pte_swp_exclusive return bool instead of int. This will better reflect how pte_swp_exclusive is actually used in the code. This fixes swap/swapoff problems on Alpha due pte_swp_exclusive not returning correct values when _PAGE_SWP_EXCLUSIVE bit resides in upper 32-bits of PTE (like on alpha). Suggested-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Magnus Lindholm <linmag7@gmail.com> Cc: Sam James <sam@gentoo.org> Link: https://lore.kernel.org/lkml/20250218175735.19882-2-linmag7@gmail.com/ Link: https://lore.kernel.org/lkml/20250602041118.GA2675383@ZenIV/ [ Applied as the 'sed' script Al suggested - Linus ] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/sh/include')
-rw-r--r--arch/sh/include/asm/pgtable_32.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sh/include/asm/pgtable_32.h b/arch/sh/include/asm/pgtable_32.h
index 71b18741cc11..5f51af18997b 100644
--- a/arch/sh/include/asm/pgtable_32.h
+++ b/arch/sh/include/asm/pgtable_32.h
@@ -470,7 +470,7 @@ static inline unsigned long pmd_page_vaddr(pmd_t pmd)
/* In both cases, we borrow bit 6 to store the exclusive marker in swap PTEs. */
#define _PAGE_SWP_EXCLUSIVE _PAGE_USER
-static inline int pte_swp_exclusive(pte_t pte)
+static inline bool pte_swp_exclusive(pte_t pte)
{
return pte.pte_low & _PAGE_SWP_EXCLUSIVE;
}