Ошибка компиляции модуля ядра: неопределенные ссылки на __asan_register_globals и __asan_unregister_globalsLinux

Ответить
Anonymous
 Ошибка компиляции модуля ядра: неопределенные ссылки на __asan_register_globals и __asan_unregister_globals

Сообщение Anonymous »

Я пытаюсь построить модуль ядра «Привет, мир» на Ubuntu 22.04 с ядром Linux 6.1.25 . Однако, когда я запускаю, я сталкиваюсь с после ошибок , связанных с адресатом -анитизатором (ASAN):

Код: Выделить всё

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
my Makefile:

Код: Выделить всё

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
Почему мой модуль ядра не сбои из -за этих неопределенных символов?
Как лучше Убедитесь, что мой модуль строится правильно, когда в ядре включено KASAN? Или я должен отключить Касан в ядре?

Подробнее здесь: https://stackoverflow.com/questions/794 ... er-globals
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»