Как я могу добавить новую функцию LSM-крючка?

#linux-kernel #hook #linux-security-module

Вопрос:

Недавно я кое-что узнал о SocketCAN и Selinux, и я хочу реализовать новую функцию hook, чтобы получить skb, когда устройство vitrual сможет получать сообщение. Поэтому я добавляю некоторое определение и внедряю, чтобы включить/linux/lsm_hook.h, безопасность/безопасность.c, сеть/can/raw.c, безопасность/selinux/крючки.c, включить/linux/безопасность.h. Я уверен, что мой код сохраняет тот же формат, что и исходный код. Но когда я использую команду make modules, она выдает сообщение об ошибке: ОШИБКА: «security_raw_recvmsg» [net/can/can-raw.ко] не определено! (security_raw_recvmsg(структура sk_buff *skb) — это функция, которую я добавил, и расположение находится в функции raw_recvmsg в net/can/raw.c)Как я могу это сделать? Версия ядра-4.19.