Поскольку существуют ограничения безопасности /dev/mem, которые не позволяют мне получить доступ ко всей оперативной памяти, мне нужно установить /dev/fmem, но, похоже, есть ошибки с заголовками Linux
Я скачал исходный код из репозитория GitHub:
клон git https://github.com/NateBrune/fmem.git Я вхожу в каталог с помощью: cd fmem
Я использую команду make и получаю ошибки
сделать rm -f *.o *.ko *.mod.c Module.symvers Module.markers groups.order \.*.o.cmd \.*.ko.cmd \.*.o.d rm -rf \.tmp_versions make -C /lib/modules/`uname -r`/build KBUILD_EXTMOD=`pwd` модули make[1]: вход в каталог «/usr/src/linux-headers-6.6.9-amd64» CC [M] /home/kali/fmem/lkm.o В файле, включенном в /usr/src/linux-headers-6.6.9-common/include/linux/linkage.h:7, из /usr/src/linux-headers-6.6.9-common/arch/x86/include/asm/cache.h:5, из /usr/src/linux-headers-6.6.9-common/include/linux/cache.h:6, из /usr/src/linux-headers-6.6.9-common/include/linux/time.h:5, из /usr/src/linux-headers-6.6.9-common/include/linux/stat.h:19, из /usr/src/linux-headers-6.6.9-common/include/linux/module.h:13, из /home/kali/fmem/lkm.c:21: /home/kali/fmem/lkm.c: В функции chr_dev_init: /usr/src/linux-headers-6.6.9-common/include/linux/export.h:29:22: ошибка: передача аргумента 1 «class_create» из несовместимого типа указателя [-Werror=inсовместимые-указатели-типы] 29 | #define THIS_MODULE (&__this_module) | ~^~~~~~~~~~~~~~~ | | | структурный модуль * /home/kali/fmem/lkm.c:381:34: примечание: в расширении макроса «THIS_MODULE» 381 | mem_class = class_create(THIS_MODULE, "fmem"); | ^~~~~~~~~~~ В файле, включенном в файл /usr/src/linux-headers-6.6.9-common/include/linux/device.h:31, из /usr/src/linux-headers-6.6.9-common/include/linux/node.h:18, из /usr/src/linux-headers-6.6.9-common/include/linux/cpu.h:17, из /usr/src/linux-headers-6.6.9-common/include/linux/static_call.h:135, из /usr/src/linux-headers-6.6.9-common/include/linux/tracepoint.h:22, из /usr/src/linux-headers-6.6.9-common/include/trace/syscall.h:5, из /usr/src/linux-headers-6.6.9-common/include/linux/syscalls.h:90, из /home/kali/fmem/lkm.c:22: /usr/src/linux-headers-6.6.9-common/include/linux/device/class.h:230:54: примечание: ожидается «const char *», но аргумент имеет тип «struct Module *» 230 | struct class * __must_check class_create(const char *name); | ~~~~~~~~~~~~^~~~ /home/kali/fmem/lkm.c:381:21: ошибка: слишком много аргументов для функции class_create 381 | mem_class = class_create(THIS_MODULE, "fmem"); | ^~~~~~~~~~~~ /usr/src/linux-headers-6.6.9-common/include/linux/device/class.h:230:29: примечание: объявлено здесь 230 | struct class * __must_check class_create(const char *name); | ^~~~~~~~~~~~ cc1: некоторые предупреждения рассматриваются как ошибки. make[3]: *** [/usr/src/linux-headers-6.6.9-common/scripts/Makefile.build:248: /home/kali/fmem/lkm.o] Ошибка 1 make[2]: *** [/usr/src/linux-headers-6.6.9-common/Makefile
Я использую Kali Linux на VmWare