Reboot not calling module_exit of LKM
Hi, Good day! When a system is rebooted, the loadable kernel modules 'module_exit' functions are not called. I see this behavior in a custom kernel. My questions are a. Is this applicable in mainline/normal kernel too? b. If yes, what are the reasons? (One reason may be, not to get into new problems while cleaning up the module) c. Is there anyway for the kernel module to know the system is getting rebooted? (Apart from letting userspace to indicate the kernel module). Appreciate your help and apologize if this is already answered in this forum. Thanks, Ramesh
On Fri, Aug 05, 2011 at 11:39:16AM -0700, Ramesh.P wrote:
Hi,
Good day!
When a system is rebooted, the loadable kernel modules 'module_exit' functions are not called. I see this behavior in a custom kernel. My questions are
a. Is this applicable in mainline/normal kernel too?
Yes.
b. If yes, what are the reasons? (One reason may be, not to get into new problems while cleaning up the module)
You don't need to unload a module as the machine is about to be turned off.
c. Is there anyway for the kernel module to know the system is getting rebooted? (Apart from letting userspace to indicate the kernel module).
Yes, hook to the reboot notifier.
Thanks Greg. Appreciate your reply. Regards, Ramesh On Fri, Aug 5, 2011 at 12:06 PM, Greg KH <greg@kroah.com> wrote:
On Fri, Aug 05, 2011 at 11:39:16AM -0700, Ramesh.P wrote:
Hi,
Good day!
When a system is rebooted, the loadable kernel modules 'module_exit' functions are not called. I see this behavior in a custom kernel. My questions are
a. Is this applicable in mainline/normal kernel too?
Yes.
b. If yes, what are the reasons? (One reason may be, not to get into new problems while cleaning up the module)
You don't need to unload a module as the machine is about to be turned off.
c. Is there anyway for the kernel module to know the system is getting rebooted? (Apart from letting userspace to indicate the kernel module).
Yes, hook to the reboot notifier.
participants (2)
-
Greg KH -
Ramesh.P