Kernel -Modul -Kompilierungsfehler: Undefinierte Verweise auf __asan_register_Globals und __asan_unregister_Globals
Posted: 17 Feb 2025, 12:49
Ich versuche "Hallo, World" -Kernelmodul auf Ubuntu 22.04 mit Linux -Kernel 6.1.25 zu bauen. Wenn ich jedoch laufe, begegne ich den folgenden Fehlern in Bezug auf Adressanitizer (Asan):
Mein Makefile:
Warum fällt mein Kernel -Modul aufgrund dieser undefinierten Symbole fehl? Stellen Sie sicher, dass mein Modul korrekt erstellt, wenn der Kernel Kasan aktiviert hat? oder sollte ich Kasan im Kernel deaktivieren?
Code: Select all
make -C /lib/modules/6.1.25-lkp-kernel/build/ M=$(PWD) modules
make[1]: Entering directory '/home/c2kp/kernels/linux-6.1.25'
CC [M] /home/c2kp/Linux-Kernel-Programming_2E/ch4/helloworld_lkm/helloworld_lkm.o
MODPOST /home/c2kp/Linux-Kernel-Programming_2E/ch4/helloworld_lkm/Module.symvers
ERROR: modpost: "__asan_unregister_globals" [/home/c2kp/Linux-Kernel-Programming_2E/ch4/helloworld_lkm/helloworld_lkm.ko] undefined!
ERROR: modpost: "__asan_register_globals" [/home/c2kp/Linux-Kernel-Programming_2E/ch4/helloworld_lkm/helloworld_lkm.ko] undefined!
make[2]: *** [scripts/Makefile.modpost:126: /home/c2kp/Linux-Kernel-Programming_2E/ch4/helloworld_lkm/Module.symvers] Error 1
make[1]: *** [Makefile:1964: modpost] Error 2
make[1]: Leaving directory '/home/c2kp/kernels/linux-6.1.25'
make: *** [Makefile:9: all] Error 2
Code: Select all
PWD := $(shell pwd)
KDIR := /lib/modules/$(shell uname -r)/build/
obj-m += helloworld_lkm.o
ccflags-y += -fsanitize=kernel-address
all:
make -C $(KDIR) M=$(PWD) modules
install:
make -C $(KDIR) M=$(PWD) modules_install
clean:
make -C $(KDIR) M=$(PWD) clean