Unable to remove kernel module showing permanent using lsmod

sakthi selvam sakthi.cdm at gmail.com
Sun Apr 17 02:19:45 EDT 2011

Dear all,

                Thanks for your suggestion. Finally, I identified the
solution for the permanent issued I faced after loading my kernel module.
The solution is the kernel macro; 'USE_IMMEDIATE' has to be defined (to be
given as -DUSE_IMMEDIATE along with compiler flags) during compilation of my
module. Actually, I don't know much deep about the usage of this kernel
macro and how it resolves the issue, but one thing I came to know that it
was used during module relocation while inserting the module. If anyone help
me to get know much about it, then it will be fine. Also, for your
information, I have used my own Makefile for compilation of kernel loadable
modules. So, I have to add myself this macro to get rid of this permanent
issue. Another fine solution is, you can make use of kernel build Makefile
itself (if linux kernel version is above 2.4) to build your kernel loadable
modules. Because it itself include all default macros and flags needed for
compilation of your module. I have specified below the sample Makefile for
compiling kernel loadable modules with kernel build Makefile.


obj-m += hello.o


                make -C /lib/modules/$(shell uname -r)/build M=$(PWD)


                make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean



On Thu, Mar 24, 2011 at 10:38 AM, sakthi selvam <sakthi.cdm at gmail.com>wrote:

> Dear All,
> Need your assistance:
> Currently I am using Wind River Linux distribution OS with kernel
> version and Wind River version pne-3. After loading of my
> kernel module, I found it was permanent in the kernel using lsmod (for
> ex see below Ref 1). When I tried to remove, it was displaying as
> “ERROR: Removing 'hsl_module': Device or resource busy”. For your
> information, the same module is working fine with the Wind River pne-2
> Linux Distribution OS with kernel version 2.6.21.
> From the kernel source, I came to know that only possibility of
> showing permanent is “if there is non-availability of cleanup_module
> and with the availability of init_module”.
> But in my case, cleanup module also available in memory, after loading
> the module. I used to check using the file in /proc/kallsyms for the
> availability of cleanup module in memory.
> Thanks for reading. Prompt reply is expected to identify the root cause.
> Ref 1:
> Module                  Size  Used by
> hsl_module            530454  0 [permanent]
> Thanks,
> Sakthi Selvam
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110417/205054ca/attachment.html 

More information about the Kernelnewbies mailing list