[PATCH] powerpc: Use printk instead of WARN in change_memory_attr
Christophe Leroy
christophe.leroy at csgroup.eu
Wed Aug 28 00:41:59 AEST 2024
Le 27/08/2024 à 11:12, Ritesh Harjani (IBM) a écrit :
> [Vous ne recevez pas souvent de courriers de ritesh.list at gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> Use pr_warn_once instead of WARN_ON_ONCE as discussed here [1]
> for printing possible use of set_memory_* on linear map on Hash.
>
> [1]: https://lore.kernel.org/all/877cc2fpi2.fsf@mail.lhotse/#t
>
> Signed-off-by: Ritesh Harjani (IBM) <ritesh.list at gmail.com>
> ---
> arch/powerpc/mm/pageattr.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/mm/pageattr.c b/arch/powerpc/mm/pageattr.c
> index ac22bf28086f..c8c2d664c6f3 100644
> --- a/arch/powerpc/mm/pageattr.c
> +++ b/arch/powerpc/mm/pageattr.c
> @@ -94,8 +94,11 @@ int change_memory_attr(unsigned long addr, int numpages, long action)
> if (!radix_enabled()) {
> int region = get_region_id(addr);
>
> - if (WARN_ON_ONCE(region != VMALLOC_REGION_ID && region != IO_REGION_ID))
> + if (region != VMALLOC_REGION_ID && region != IO_REGION_ID) {
> + pr_warn_once("%s: possible use of set_memory_* on linear map on Hash from (%ps)\n",
> + __func__, __builtin_return_address(0));
Is it really only linear map ?
What about "possible user of set_memory_* outside of vmalloc or io region.
Maybe a show_stack() would also be worth it ?
But in principle I think it would be better to keep the WARN_ONCE until
we can add __must_check to set_memory_xxx() functions to be sure all
callers check the result, as mandated by
https://github.com/KSPP/linux/issues/7
Christophe
More information about the Linuxppc-dev
mailing list