From d992ba4e6e87fe7a2de1def3eb808649277f2ed7 Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Fri, 13 Apr 2018 09:13:22 +0100 Subject: [PATCH] Generalize module_version.c into module_info.c --- kernel_module/README.adoc | 2 +- kernel_module/kstrto.c | 2 +- kernel_module/module_info.c | 32 ++++++++++++++++++++++++++++++++ kernel_module/module_version.c | 28 ---------------------------- 4 files changed, 34 insertions(+), 30 deletions(-) create mode 100644 kernel_module/module_info.c delete mode 100644 kernel_module/module_version.c diff --git a/kernel_module/README.adoc b/kernel_module/README.adoc index 3a1553d..57636f4 100644 --- a/kernel_module/README.adoc +++ b/kernel_module/README.adoc @@ -9,7 +9,7 @@ .. link:params.c[] .. link:vermagic.c[] .. link:vermagic_fail.c[] -.. link:module_version.c[] +.. link:module_info.c[] . Pseudo filesystems .. link:debugfs.c[] .. link:procfs.c[] diff --git a/kernel_module/kstrto.c b/kernel_module/kstrto.c index f3cbdae..5a5703f 100644 --- a/kernel_module/kstrto.c +++ b/kernel_module/kstrto.c @@ -23,7 +23,7 @@ static ssize_t write(struct file *filp, const char __user *buf, size_t len, loff pr_info("ko = %d\n", ret); return ret; } else { - pr_info("ok = %llu\n", res); + pr_info("ok = %llu\n", res); *off= len; return len; } diff --git a/kernel_module/module_info.c b/kernel_module/module_info.c new file mode 100644 index 0000000..937d1c1 --- /dev/null +++ b/kernel_module/module_info.c @@ -0,0 +1,32 @@ +/* +- https://stackoverflow.com/questions/4839024/how-to-find-the-version-of-a-compiled-kernel-module/42556565#42556565 +- https://stackoverflow.com/questions/19467150/significance-of-this-module-in-linux-driver/49812248#49812248 + +Usage: + + insmod /module_info.ko + # dmesg => name = module_info + # dmesg => version = 1.0 + cat /sys/module/module_info/version + # => module_info + modinfo /module_info.ko | grep -E '^version:' + # => version: 1.0 +*/ + +#include +#include + +static int myinit(void) +{ + /* Set by default based on the module file name. */ + pr_info("name = %s\n", THIS_MODULE->name); + pr_info("version = %s\n", THIS_MODULE->version); + return 0; +} + +static void myexit(void) {} + +module_init(myinit) +module_exit(myexit) +MODULE_VERSION("1.0"); +MODULE_LICENSE("GPL"); diff --git a/kernel_module/module_version.c b/kernel_module/module_version.c deleted file mode 100644 index aac8189..0000000 --- a/kernel_module/module_version.c +++ /dev/null @@ -1,28 +0,0 @@ -/* -https://stackoverflow.com/questions/4839024/how-to-find-the-version-of-a-compiled-kernel-module/42556565#42556565 - - insmod /module_version.ko - cat /sys/modules/module_version/version - # => 1.0 - cat /sys/module/module_version/srcversion - # => AB0F06618BC3A36B687CDC5 - modinfo /module_version.ko | grep -E '^(src|)version' - # => version: 1.0 - # => srcversion: AB0F06618BC3A36B687CDC5 -*/ - -#include -#include - -static int myinit(void) -{ - pr_info(__FILE__ "\n"); - return 0; -} - -static void myexit(void) {} - -module_init(myinit) -module_exit(myexit) -MODULE_VERSION("1.0"); -MODULE_LICENSE("GPL");