On Thu, Jun 04, 2026 at 05:19:13PM +0800, George Guo wrote: > From: George Guo <[email protected]> > > 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 <[email protected]> > Signed-off-by: Kexin Liu <[email protected]> > Signed-off-by: George Guo <[email protected]>
Acked-by: Mike Rapoport (Microsoft) <[email protected]> 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/[email protected]/ > # 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.
