Если добавить опцию "-O0" в ccflags в Makefile
ccflags-y += -g -O0
ERROR: modpost: "__show_free_areas" [/usr/src/kts2/tmp/test.ko] undefined!
Если убрать "-О0" или поставить "-О2", то все замечательно собирается.
Воспроизводится на ядрах 6.1 и 6.6 и компиляторах gcc-11.4.0,gcc-13.2
__show_free_areas объявлена в linux/mm.h как extern void
Что за хрень?!
Сборка модуля без оптимизации нужна для понимания где происходит утечка памяти (kmemleak).
Update: Проблема исчезла. Непонятно что было причиной проблемы.