Я пытаюсь создать запись proc. Моя функция init_module выглядит следующим образом:
int init_module()
{
printk(KERN_INFO "proc2:Module Loaded\n");
proc_entry=proc_create_data(proc_name,0644,NULL,&fops,NULL);
if(proc_entry==NULL)
{
printk(KERN_INFO "proc2:Error registering proc entry");
}
else
{
printk(KERN_INFO "proc2:Proc Entry Created");
}
return 0;
}
следующий метод очистки
void cleanup_module()
{
printk(KERN_INFO "proc2:module unloaded");
remove_proc_entry(proc_name,proc_entry);
}
остальная часть программы включает определение переменных и функции обратного вызова.
когда я компилирую эту программу, она компилируется хорошо. когда я использую insmod
, он не отвечает мне. lsmod
перечисляет мой модуль и показывает, какой из них используется (не знаю каким). dmesg
не показывает ни одного из приведенных выше сообщений printk.
Вы можете сказать мне, что здесь не так?