[PATCH v2] liveupdate: luo_session: include linux/mm.h for virt/phys translation

Mike Rapoport rppt at kernel.org
Sun Jun 14 01:33:38 PDT 2026


On Thu, Jun 04, 2026 at 05:19:13PM +0800, George Guo wrote:
> From: George Guo <guodongtai at kylinos.cn>
> 
> luo_session.c calls virt_to_phys() and phys_to_virt(). On LoongArch with
> CONFIG_KFENCE=y, these macros (in arch/loongarch/include/asm/io.h) expand
> to offset_in_page() and page_address(), both declared in <linux/mm.h>.
> 
> Since luo_session.c only includes <linux/io.h>, the translation unit fails
> to build with CONFIG_KFENCE=y:
> 
>   asm/io.h: error: implicit declaration of function 'offset_in_page'
>   asm/io.h: error: implicit declaration of function 'page_address'
> 
> Add the missing include to fix these build errors.
> 
> Co-developed-by: Kexin Liu <liukexin at kylinos.cn>
> Signed-off-by: Kexin Liu <liukexin at kylinos.cn>
> Signed-off-by: George Guo <guodongtai at kylinos.cn>

Acked-by: Mike Rapoport (Microsoft) <rppt at kernel.org>

Please send this patch along with the series that enable KHO on LoongArch.

> ---
> v2: Move the include from arch/loongarch/include/asm/io.h to the consumer
>     luo_session.c, instead of pulling the heavy <linux/mm.h> into the
>     low-level asm/io.h header (per review feedback). The 0-day report
>     confirmed the v1 approach introduces a circular include
>     (slab.h -> kasan.h -> asm/kasan.h -> asm/io.h -> mm.h, where mm.h
>     needs kfree() before slab.h declares it).
> Link: https://lore.kernel.org/r/20260521063310.52926-1-dongtai.guo@linux.dev/ # v1
> 
>  kernel/liveupdate/luo_session.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/kernel/liveupdate/luo_session.c b/kernel/liveupdate/luo_session.c
> index 7a42385dabe2..4ce7128a4ae9 100644
> --- a/kernel/liveupdate/luo_session.c
> +++ b/kernel/liveupdate/luo_session.c
> @@ -62,6 +62,7 @@
>  #include <linux/libfdt.h>
>  #include <linux/list.h>
>  #include <linux/liveupdate.h>
> +#include <linux/mm.h>
>  #include <linux/mutex.h>
>  #include <linux/rwsem.h>
>  #include <linux/slab.h>
> -- 
> 2.25.1
> 

-- 
Sincerely yours,
Mike.



More information about the kexec mailing list