Why is this kernel module marked at permanent on 2.6.39
So, after consultation with Canonical, I know what the problem is:
Ubuntu mainline builds are built with the Hardy tool chain, and the 11.04 and 11.10 tool chains are incompatible for building out-of-tree kernel modules.
how to resolve module marked permanent in LKM
Kernel module is marked as permanent
(cannot be unloaded) if there is no exit function is defined for it.
exit function accepts no arguments and return nothing and should be defined either with predefined name
void cleanup_module(void)
{
...
}
or with arbitrary name but registered with module_exit
macro
void <func_name>(void)
{
...
}
module_exit(<func_name>);
static, __exit and other attributes for exit function are optional.
Error: device or resource busy in removing proc module
Either name the module cleanup function cleanup_module (and not clean_module) or specifically declare it as a cleanup function (much better) like so:
module_init(init_module);
module_exit(clean_module);
Related Topics
Cmake Doesn't Know Where Is Qt4 Qmake
Bash: Add String to the End of the File Without Line Break
Stripping Single and Double Quotes in a String Using Bash/Standard Linux Commands Only
Understanding Bash Short-Circuiting
Bash File Is Running Fine in Windows for Testng But It Is Not Working in Linux/Mac
Why Does This Code Crash with Address Randomization On
Doesn't Sh Support Process Substitution <(...)
In Order to Write Pci Ethernet Driver. How to Implement Mmap in the Pci Ethernet Driver
Importing Shapefiles in Postgresql in Linux Using Pgadmin 4
Allocate Writable Memory in the .Text Section
How to Get a List of All Valid Ip Addresses in a Local Network
Getting Disconnection Notification Using Tcp Keep-Alive on Write Blocked Socket
Node Server Crashes After Few Hours
What Does Double-Dash Do When Following a Command
Why Does %Rbp Point to Nothing
Why Crontab Uses or When Both Day of Month and Day of Week Specified