Я хотел добавить функцию, скажем, foo
в моей программе my_pgm.c
. Я использовал это extern foo();
Когда я запускаю Makefile для запуска my_pgm.c
, все прошло нормально, но, поскольку его нет в /proc/kallsym
при выполнении insmod my_pgm.ko
, он выдает ошибку.
insmod: ERROR: could not insert module my_pgm.ko: Unknown symbol in module
В dmesg печатается как Unknown symbol my_pgm (err 0)
foo определен как часть другого файла. Я взял указатель на функцию foo, используя nm another_file.ko
. Я хотел вставить эту запись указателя в /proc/kallsyms
Мой вопрос: можем ли мы изменить /proc/kallsyms
? Если да, то как его изменить? (Если я отредактирую файл и переопределю его, изменения также не отражаются при повторном открытии файла)