diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2023-08-12 18:12:54 +0300 |
---|---|---|
committer | Heiko Carstens <hca@linux.ibm.com> | 2023-08-16 16:13:03 +0300 |
commit | 2d1494fb31405df0dfb6006fdb2b24e7880258cd (patch) | |
tree | f21e0f280a7084fb14171c23d3e7bdbeac062c89 /arch/s390/include/asm/kfence.h | |
parent | 5cfdff02e97a46f90b3ba408af62ad3dcb0dc586 (diff) | |
download | linux-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.h | 2 |
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; } |