ladybird/Base/usr/share/man/man2/module_load.md
Sergey Bugaev 3e1ed38d4b Kernel: Do not return ENOENT for unresolved symbols
ENOENT means "no such file or directory", not "no such symbol". Return EINVAL
instead, as we already do in other cases.
2020-01-18 23:51:22 +01:00

1,007 B

Name

module_load - load a kernel module

Synopsis

#include <serenity.h>

int module_load(const char* path, size_t path_length);

Description

module_load() will load a kernel module from an ELF object file given its path in the filesystem.

Return value

If the module is successfully loaded, module_load() returns 0. Otherwise, it returns -1 and sets errno to describe the error.

Errors

  • EPERM: The calling process does not have superuser permissions.
  • EFAULT: path pointed to memory that was not accessible for the caller.
  • ENOEXEC: The specified file could not be parsed as an ELF object.
  • EINVAL: One or more symbols referred to by the module could not be resolved, or the module had no .text section, or didn't export a module_init function.
  • EEXIST: A module with the same name was already loaded.

See also