summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/kfence.h
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2023-08-12 18:12:54 +0300
committerHeiko Carstens <hca@linux.ibm.com>2023-08-16 16:13:03 +0300
commit2d1494fb31405df0dfb6006fdb2b24e7880258cd (patch)
treef21e0f280a7084fb14171c23d3e7bdbeac062c89 /arch/s390/include/asm/kfence.h
parent5cfdff02e97a46f90b3ba408af62ad3dcb0dc586 (diff)
downloadlinux-2d1494fb31405df0dfb6006fdb2b24e7880258cd.tar.xz
s390/mm: make virt_to_pfn() a static inline
Making virt_to_pfn() a static inline taking a strongly typed (const void *) makes the contract of a passing a pointer of that type to the function explicit and exposes any misuse of the macro virt_to_pfn() acting polymorphic and accepting many types such as (void *), (unitptr_t) or (unsigned long) as arguments without warnings. For symmetry do the same with pfn_to_virt() reflecting the current layout in asm-generic/page.h. Doing this reveals a number of offenders in the arch code and the S390-specific drivers, so just bite the bullet and fix up all of those as well. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com> Link: https://lore.kernel.org/r/20230812-virt-to-phys-s390-v2-1-6c40f31fe36f@linaro.org Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/kfence.h')
-rw-r--r--arch/s390/include/asm/kfence.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/include/asm/kfence.h b/arch/s390/include/asm/kfence.h
index d55ba878378b..e47fd8cbe701 100644
--- a/arch/s390/include/asm/kfence.h
+++ b/arch/s390/include/asm/kfence.h
@@ -35,7 +35,7 @@ static __always_inline void kfence_split_mapping(void)
static inline bool kfence_protect_page(unsigned long addr, bool protect)
{
- __kernel_map_pages(virt_to_page(addr), 1, !protect);
+ __kernel_map_pages(virt_to_page((void *)addr), 1, !protect);
return true;
}