request_module with params

Cihangir Akturk cakturk at gmail.com
Mon Aug 21 03:21:24 EDT 2017


On Sun, Aug 20, 2017 at 09:24:09AM +0100, Okash Khawaja wrote:
> Hi,
> 
> Is there a way to load a kernel module from another module and pass
> parameters to it? Something like
> 
> request_module("mymod param1=val1");

I think this is exactly what you are looking for:

from include/linux/kmod.h
#define request_module(mod...) __request_module(true, mod)

and from kernel/kmod.c

/**
 * __request_module - try to load a kernel module
 * @wait: wait (or not) for the operation to complete
 * @fmt: printf style format string for the name of the module
 * @...: arguments as specified in the format string
 *
 * Load a module using the user mode module loader. The function returns
 * zero on success or a negative errno code or positive exit code from
 * "modprobe" on failure. Note that a successful module load does not mean
 * the module did not then unload and exit on an error of its own. Callers
 * must check that the service they requested is now available not blindly
 * invoke it.
 *
 * If module auto-loading support is disabled then this function
 * becomes a no-operation.
 */
int __request_module(bool wait, const char *fmt, ...)

In normal situtations, you just call exported functions from another
kernel module. Module order and dependencies between these modules are
handled by depmod at module installation time, as far as I know.

> 
> Thanks,
> Okash

> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




More information about the Kernelnewbies mailing list