diff options
author | Lucas De Marchi <lucas.de.marchi@gmail.com> | 2013-04-09 04:00:20 -0300 |
---|---|---|
committer | Lucas De Marchi <lucas.de.marchi@gmail.com> | 2013-04-09 04:05:09 -0300 |
commit | 1407064e730732dd20952671077007dd4133f7db (patch) | |
tree | 381d5ca0aa992cd4c60973f0a2ea8bc16de8b2eb | |
parent | 41a51c2af915bc99851446cf604fac99eca1848f (diff) | |
download | kmod-1407064e730732dd20952671077007dd4133f7db.tar.gz |
libkmod: Add missing definitions
Depending on kernel header and simply not passing the flags in
finit_module() if this header is not found is not good.
Add a missing.h header in which stuff like this should be added.
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | libkmod/libkmod-module.c | 2 | ||||
-rw-r--r-- | libkmod/libkmod-private.h | 1 | ||||
-rw-r--r-- | libkmod/missing.h | 13 |
4 files changed, 15 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am index 9feaf96..1680fe6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -55,6 +55,7 @@ libkmod_libkmod_la_SOURCES =\ libkmod/libkmod.h \ libkmod/libkmod-private.h \ libkmod/macro.h \ + libkmod/missing.h \ libkmod/libkmod.c \ libkmod/libkmod-list.c \ libkmod/libkmod-config.c \ diff --git a/libkmod/libkmod-module.c b/libkmod/libkmod-module.c index 7b38e64..f701d47 100644 --- a/libkmod/libkmod-module.c +++ b/libkmod/libkmod-module.c @@ -819,12 +819,10 @@ KMOD_EXPORT int kmod_module_insert_module(struct kmod_module *mod, if (kmod_file_get_direct(file)) { unsigned int kernel_flags = 0; -#ifdef HAVE_LINUX_MODULE_H if (flags & KMOD_INSERT_FORCE_VERMAGIC) kernel_flags |= MODULE_INIT_IGNORE_VERMAGIC; if (flags & KMOD_INSERT_FORCE_MODVERSION) kernel_flags |= MODULE_INIT_IGNORE_MODVERSIONS; -#endif err = finit_module(kmod_file_get_fd(file), args, kernel_flags); if (err == 0 || errno != ENOSYS) diff --git a/libkmod/libkmod-private.h b/libkmod/libkmod-private.h index 8d8599a..078a51a 100644 --- a/libkmod/libkmod-private.h +++ b/libkmod/libkmod-private.h @@ -5,6 +5,7 @@ #include <syslog.h> #include <limits.h> +#include "missing.h" #include "macro.h" #include "libkmod.h" diff --git a/libkmod/missing.h b/libkmod/missing.h new file mode 100644 index 0000000..6ff754f --- /dev/null +++ b/libkmod/missing.h @@ -0,0 +1,13 @@ +#pragma once + +#ifdef HAVE_LINUX_MODULE_H +#include <linux/module.h> +#endif + +#ifndef MODULE_INIT_IGNORE_MODVERSIONS +# define MODULE_INIT_IGNORE_MODVERSIONS 1 +#endif + +#ifndef MODULE_INIT_IGNORE_VERMAGIC +# define MODULE_INIT_IGNORE_VERMAGIC 2 +#endif |