This is probably a stupid question, but I looked for hours online and couldn't find an answer...
I'm writing a kernel module that also creates a character device. It compiles with no errors and warnings but when I try sudo insmod my_mod.ko
I get:
insmod: error inserting 'my_mod.ko': -1 Unknown symbol in module
and when I try to look at dmesg
I see:
my_mod: Unknown symbol __class_create (err 0)
my_mod: Unknown symbol device_create_file (err 0)
my_mod: Unknown symbol device_create (err 0)
I'm guessing that I missed an include
but I can't find which...
What are the includes needed?
My includes are currently:
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/ip.h>
#include <linux/netfilter.h>
#include <linux/netfilter_ipv4.h>
#include <linux/cdev.h>
#include <linux/fs.h>