Xie XiuQi
unread,Dec 9, 2015, 8:32:52 AM12/9/15You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to ru...@rustcorp.com.au, pau...@linux.vnet.ibm.com, ak...@linux-foundation.org, bobby...@gmail.com, dhow...@redhat.com, David.W...@intel.com, linux-...@vger.kernel.org, han...@cmpxchg.org, iulia....@gmail.com, lu...@amacapital.net, huawei...@huawei.com
Usually, checking kernel version will be ignore when loading
modules if CONFIG_MODVERSIONS option is enable. This could
potentially lead to a mismatch with the running kernel.
With this option, we prevent to load the modules which vermagic
is not match exactly with the running kernel.
It could be set to N by default.
Signed-off-by: Xie XiuQi <
xiex...@huawei.com>
---
init/Kconfig | 11 +++++++++++
kernel/module.c | 2 ++
2 files changed, 13 insertions(+)
diff --git a/init/Kconfig b/init/Kconfig
index c24b6f7..ce9c23e 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -1889,6 +1889,17 @@ config MODVERSIONS
make them incompatible with the kernel you are running. If
unsure, say N.
+config MODULE_VERMAGIC_FORCE
+ bool "Require vermagic match exactly"
+ default n
+ depends on MODVERSIONS
+ help
+ Usually, checking kernel version will be ignore when loading
+ modules if CONFIG_MODVERSIONS option is enable. This could
+ potentially lead to a mismatch with the running kernel.
+ With this option, we prevent to load the modules which vermagic
+ is not match exactly with the running kernel. If unsure, say N.
+
config MODULE_SRCVERSION_ALL
bool "Source checksum for all modules"
help
diff --git a/kernel/module.c b/kernel/module.c
index 8f051a1..cf350d5 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1350,10 +1350,12 @@ static inline int check_modstruct_version(Elf_Shdr *sechdrs,
static inline int same_magic(const char *amagic, const char *bmagic,
bool has_crcs)
{
+#ifndef CONFIG_MODULE_VERMAGIC_FORCE
if (has_crcs) {
amagic += strcspn(amagic, " ");
bmagic += strcspn(bmagic, " ");
}
+#endif
return strcmp(amagic, bmagic) == 0;
}
#else
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
majo...@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/