Inserting and Deleting Modules

Two system calls form the interface between the userspace tools and the module implementation of the kernel:

□ init_module — Inserts a new module into the kernel. All the userspace tool needs do is provide the binary data. All further steps (particularly relocation and symbol resolution) are performed in the kernel itself.

□ delete_module — Removes a module from the kernel. A prerequisite is, of course, that the code is no longer in use and that no other modules are employing functions exported from the module.

There is also a function named request_module (not a system call) that is used to load modules from the kernel side. It is required not only to load modules but also to implement hotplug capabilities.

Continue reading here: Module Representation

Was this article helpful?

0 0