From bb0b815e53b9f08faba744cba5ff007c794e423d Mon Sep 17 00:00:00 2001 From: gatieme Date: Thu, 29 Jun 2017 00:07:44 +0800 Subject: [PATCH] force_rmmod... --- study/driver/force_rmmod/README.md | 138 +++++++++++++++++- .../03-mone_exit}/Makefile | 16 +- .../bug_drivers/03-mone_exit/none_exit.c | 27 ++++ study/driver/force_rmmod/non_exit_resolve.png | Bin 0 -> 97217 bytes study/driver/force_rmmod/none_exit/hello.c | 30 ---- study/driver/force_rmmod/none_exit/hello2.c~ | 47 ------ study/driver/force_rmmod/none_exit_bug.png | Bin 0 -> 66272 bytes .../{rmmod => src/01-driver}/Makefile | 0 .../{rmmod => src/01-driver}/force_rmmod.c | 40 ++++- .../{rmmod => src/01-driver}/force_rmmod2.c | 0 study/driver/force_rmmod/src/02-stap/test.stp | 22 +++ study/driver/force_rmmod/todo.md | 9 ++ 12 files changed, 232 insertions(+), 97 deletions(-) rename study/driver/force_rmmod/{none_exit => bug_drivers/03-mone_exit}/Makefile (86%) create mode 100644 study/driver/force_rmmod/bug_drivers/03-mone_exit/none_exit.c create mode 100644 study/driver/force_rmmod/non_exit_resolve.png delete mode 100644 study/driver/force_rmmod/none_exit/hello.c delete mode 100644 study/driver/force_rmmod/none_exit/hello2.c~ create mode 100644 study/driver/force_rmmod/none_exit_bug.png rename study/driver/force_rmmod/{rmmod => src/01-driver}/Makefile (100%) rename study/driver/force_rmmod/{rmmod => src/01-driver}/force_rmmod.c (72%) rename study/driver/force_rmmod/{rmmod => src/01-driver}/force_rmmod2.c (100%) create mode 100644 study/driver/force_rmmod/src/02-stap/test.stp create mode 100644 study/driver/force_rmmod/todo.md diff --git a/study/driver/force_rmmod/README.md b/study/driver/force_rmmod/README.md index 778d22e..a73087e 100644 --- a/study/driver/force_rmmod/README.md +++ b/study/driver/force_rmmod/README.md @@ -261,7 +261,143 @@ static int try_stop_module(struct module *mod, int flags, int *forced) ##4.1 force_rmmod外部驱动模块强制卸载异常驱动 ------- -##4.2 +为此设计了 `force_rmmod` 外部模块用于卸载外部的驱动. + + +##4.2 情形3--没有exit函数的异常模块 +------- + +没有 `exit` 函数的驱动是无法被卸载的, 如果我们设计的驱动没有 exit函数, 那么将导致驱动无法卸载. + + +示例代码 `none_hello` 如下所示 : + +```cpp +// none_exit.c +#include +#include +#include + + +MODULE_LICENSE("Dual BSD/GPL"); +MODULE_AUTHOR("Gatieme"); +MODULE_DESCRIPTION("none_exit world"); + + + +static int none_exit_init(void) +{ + printk("none_exit init\n"); + return 0; +} +module_init(none_exit_init); + +#if 0 +static void none_exit_exit(void) +{ + printk(KERN_ERR"exit"); +} +module_exit(none_exit_exit); +#endif +``` + + +此时构建内核模块, 加载完成后, 发现内核模块 `none_exit` 加载成功, 但是却无法卸载. + +```cpp +make # 构建驱动 +sudo insmod none_exit.ko # 加载驱动 +dmesg | tail -l # 查看日志信息, 发现驱动加载成功 +sudo rmmod none_exit +``` + +![无法卸载没有exit函数的驱动模块](none_exit_bug.png) + +`rmmod` 卸载驱动时, 提示 + +```cpp +rmmod: ERROR: ../libkmod/libkmod-module.c:769 kmod_module_remove_module() could not remove 'none_exit': Device or resource busy +rmmod: ERROR: could not remove module none_exit: Device or resource busy +``` + +如果想要正常卸载此驱动模块, 可以通过外部注册 `exit` 函数的方式, 替换掉 `none_exit` 模块的 `exit`函数 + +即基本流程如下 + +1. 查找到 `none_exit` 模块的内核模块结构 `struct moudle`, 可以通过 `find_module` 函数查找到, 也可以参照 `find_module` 函数实现. + + ```cpp + mod = find_module(del_mod_name) + ``` + +2. 设计新的 `exit` 函数, 替代原来的 `exit` 函数 + + ```cpp + // 此处为外部注册的待卸载模块的exit函数 + // 用于替代模块原来的exit函数 + // 注意--此函数由于需要被待删除模块引用, 因此不能声明为static + /* static */ void force_replace_exit_module_function(void) + { + ///////////////////// + // 此处完善待卸载驱动的 exit/cleanup 函数 + ///////////////////// + + printk("module %s exit SUCCESS...\n", modname); + // platform_device_unregister((struct platform_device*)(*(int*)symbol_addr)); + } + + ///////////////////// + // 替换/重新注册驱动的exit函数 + ///////////////////// + mod->exit = force_replace_exit_module_function; + ``` + +> **注意** +> +> 外部 `exit` 函数的设计依赖于原驱动模块的实现, 特别是 `init` 函数的设计, `exit` 函数必须释放掉驱动构建的数据结构和结点信息 + + +而此例子中, 我们用于演示的 `none_exit` 仅是一个简单的实例, 它没有那么多信息, 因此只需要一个简单的 `exit` 退出函数即可. + + +可以使用 `force_rmmod` 驱动实现卸载 `none_exit`, 可以根据需要自行补充 `exit` 函数 `force_replace_exit_module_function` 的实现. + +编译时需要添加 `CONFIG_REPLACE_EXIT_FUNCTION` 宏, 可以通过 + +* 在 `Makefile` 中制定 `-DCONFIG_REPLACE_EXIT_FUNCTION` + +或者 + +* 在 force_rmmod 驱动源码中添加 `#define CONFIG_REPLACE_EXIT_FUNCTION` + +卸载 `none_exit` 的具体流程如下. + +```cpp +# 通过 `modname` 制定待卸载驱动的信息 +sudo insmod force_rmmod.ko modname=none_exit +# 查看是否加载成功, `exit` 函数是否正常替换 +dmesg | tail -l +# 卸载 `none_exit` 驱动 +sudo rmmod none_exit +# 卸载 `force_rmmod` 驱动 +sudo rmmod force_rmmod +``` + +![强制卸载](non_exit_resolve.png) + +可以看到驱动 `none_exit` 被正常卸载 + +由于替换了 `none_exit` 驱动中的 `exit` 函数为 `force_rmmod` 驱动中的函数, 因此要首先卸载 `none_exit` 的时候, 再卸载 `force_rmmod`, 否则 `none_exit` 将同样卸载失败. + + +##4.3 情形4--引用计数不为0的异常情形 +------- + + +驱动异常, 或者 + + + #参考资料 ------- diff --git a/study/driver/force_rmmod/none_exit/Makefile b/study/driver/force_rmmod/bug_drivers/03-mone_exit/Makefile similarity index 86% rename from study/driver/force_rmmod/none_exit/Makefile rename to study/driver/force_rmmod/bug_drivers/03-mone_exit/Makefile index 5ffdb3f..cc8801e 100644 --- a/study/driver/force_rmmod/none_exit/Makefile +++ b/study/driver/force_rmmod/bug_drivers/03-mone_exit/Makefile @@ -20,7 +20,7 @@ DRIVER_DESC := "Linux input module for Elo MultiTouch(MT) devices" DRIVER_LICENSE := "Dual BSD/GPL" -MODULE_NAME := hello +MODULE_NAME := none_exit @@ -49,27 +49,21 @@ modules_install: insmod: sudo insmod $(MODULE_NAME).ko + +.PHNOY: + modules modules_install clean + reinsmod: sudo rmmod $(MODULE_NAME) sudo insmod $(MODULE_NAME).ko -github: - cd $(ROOT) && make github - rmmod: sudo rmmod $(MODULE_NAME) -test : - sudo ../injector/memInjector -l stack -m random -t word_0 --time 1 --timeout 3 -p 1 - clean: make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean rm -f modules.order Module.symvers Module.markers -.PHNOY: - modules modules_install clean - - endif diff --git a/study/driver/force_rmmod/bug_drivers/03-mone_exit/none_exit.c b/study/driver/force_rmmod/bug_drivers/03-mone_exit/none_exit.c new file mode 100644 index 0000000..e0dc165 --- /dev/null +++ b/study/driver/force_rmmod/bug_drivers/03-mone_exit/none_exit.c @@ -0,0 +1,27 @@ +#include +#include +#include + + +MODULE_LICENSE("Dual BSD/GPL"); +MODULE_AUTHOR("Gatieme"); +MODULE_DESCRIPTION("none_exit world"); + + + +static int none_exit_init(void) +{ + printk("none_exit init\n"); + return 0; +} +module_init(none_exit_init); + + +#if 0 +static void none_exit_exit(void) +{ + printk(KERN_ERR"exit"); +} +module_exit(none_exit_exit); +#endif + diff --git a/study/driver/force_rmmod/non_exit_resolve.png b/study/driver/force_rmmod/non_exit_resolve.png new file mode 100644 index 0000000000000000000000000000000000000000..6547566114268ecd132c3efa0d5c18d384fe748f GIT binary patch literal 97217 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%0ArLh&8P(-8o#IqW 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%0A!Af}&^Zyw$a;{1`YLtLR`3 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 MpA{v_#EifFAF>hSGXMYp literal 0 HcmV?d00001 diff --git a/study/driver/force_rmmod/none_exit/hello.c b/study/driver/force_rmmod/none_exit/hello.c deleted file mode 100644 index 55a2af1..0000000 --- a/study/driver/force_rmmod/none_exit/hello.c +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include -#include -#include -//#include -//#include -//#include - - -MODULE_LICENSE("Dual BSD/GPL"); -MODULE_AUTHOR("Gatieme"); -MODULE_DESCRIPTION("hello world"); - - - -static int hello_init(void) -{ - printk("hello init\n"); - return 0; -} - -#if 0 -static void hello_exit(void) -{ - printk(KERN_ERR"exit"); -} -#endif - -module_init(hello_init); -//module_exit(hello_exit); diff --git a/study/driver/force_rmmod/none_exit/hello2.c~ b/study/driver/force_rmmod/none_exit/hello2.c~ deleted file mode 100644 index 5456733..0000000 --- a/study/driver/force_rmmod/none_exit/hello2.c~ +++ /dev/null @@ -1,47 +0,0 @@ -#include -#include -#include -#include -//#include -//#include -//#include - -MODULE_LICENSE("Dual BSD/GPL"); -MODULE_AUTHOR("Gatieme"); -MODULE_DESCRIPTION("hello world"); - -/* - * print the module information - */ -static void print_module(void) -{ - struct module *mod; - - printk(KERN_ALERT "this module: %p==%p\n", &__this_module, THIS_MODULE); - printk(KERN_ALERT "module state: %d\n", THIS_MODULE->state); - printk(KERN_ALERT "module name: %s\n", THIS_MODULE->name); - - list_for_each_entry(mod, *(&THIS_MODULE->list.prev), list); - printk(KERN_ALERT "module name: %s\n", mod->name); - printk(KERN_ALERT "module state: %d\n", THIS_MODULE->state); -} - -static int hello_init(void) -{ - print_module(); - - printk(KERN_ALERT "run in cpu %d\n", get_cpu()); - - printk(KERN_ALERT "PAGE_OFFSET : 0x%lx, TASK_SIZE : 0x%lx", PAGE_OFFSET, - TASK_SIZE); - - return 0; -} - -static void hello_exit(void) -{ - printk(KERN_ERR "exit"); -} - -module_init(hello_init); -module_exit(hello_exit); diff --git a/study/driver/force_rmmod/none_exit_bug.png b/study/driver/force_rmmod/none_exit_bug.png new file mode 100644 index 0000000000000000000000000000000000000000..1d6cd4f1661e30e12c9c74ab8e919de4f9e182ac GIT binary patch literal 66272 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 ?!vj72#D(xLEUPj@BHx44YxdYv1cCYSU?sk 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 E2OhvTg#Z8m literal 0 HcmV?d00001 diff --git a/study/driver/force_rmmod/rmmod/Makefile b/study/driver/force_rmmod/src/01-driver/Makefile similarity index 100% rename from study/driver/force_rmmod/rmmod/Makefile rename to study/driver/force_rmmod/src/01-driver/Makefile diff --git a/study/driver/force_rmmod/rmmod/force_rmmod.c b/study/driver/force_rmmod/src/01-driver/force_rmmod.c similarity index 72% rename from study/driver/force_rmmod/rmmod/force_rmmod.c rename to study/driver/force_rmmod/src/01-driver/force_rmmod.c index 185cf99..49b667c 100644 --- a/study/driver/force_rmmod/rmmod/force_rmmod.c +++ b/study/driver/force_rmmod/src/01-driver/force_rmmod.c @@ -6,6 +6,7 @@ #include #include #include +#include /* @@ -24,15 +25,20 @@ module_param(modname, charp, 0644); MODULE_PARM_DESC(modname, "The name of module you want do clean or delete...\n"); +#define CONFIG_REPLACE_EXIT_FUNCTION + #ifdef CONFIG_REPLACE_EXIT_FUNCTION -static void force_replace_exit_module_function(void) +// 此处为外部注册的待卸载模块的exit函数 +// 用于替代模块原来的exit函数 +// 注意--此函数由于需要被待删除模块引用, 因此不能声明为static +/* static */ void force_replace_exit_module_function(void) { - int symbol_addr; + ///////////////////// + // 此处完善待卸载驱动的 exit/cleanup 函数 + ///////////////////// - printk("XXXXXX, force!\n"); - symbol_addr = kallsyms_lookup_name(modname); - - platform_device_unregister((struct platform_device*)(*(int*)symbol_addr)); + printk("module %s exit SUCCESS...\n", modname); +// platform_device_unregister((struct platform_device*)(*(int*)symbol_addr)); } #endif // CONFIG_REPLACE_EXIT_FUNCTION @@ -41,6 +47,13 @@ static int force_cleanup_module(char *del_mod_name) { struct module *mod = NULL, *relate = NULL; int cpu; +#ifdef CONFIG_REPLACE_EXIT_FUNCTION + void *origin_exit_addr = NULL; +#endif + + ///////////////////// + // 找到待删除模块的内核module信息 + ///////////////////// #if 0 // 方法一, 遍历内核模块树list_mod查询 struct module *list_mod = NULL; @@ -74,7 +87,7 @@ static int force_cleanup_module(char *del_mod_name) } ///////////////////// - // 如果有其他驱动依赖于当前驱动, 则退出卸载 + // 如果有其他驱动依赖于当前驱动, 则不能强制卸载, 立刻退出 ///////////////////// /* 如果有其他模块依赖于 del_mod */ if (!list_empty(&mod->source_list)) @@ -104,13 +117,24 @@ static int force_cleanup_module(char *del_mod_name) //per_cpu_ptr(mod->refptr, cpu)->decs; //module_put(mod); } - atomic_set(&mod->refcnt, 1); + //atomic_set(&mod->refcnt, 1); #ifdef CONFIG_REPLACE_EXIT_FUNCTION ///////////////////// // 重新注册驱动的exit函数 ///////////////////// + origin_exit_addr = mod->exit; + if (origin_exit_addr == NULL) + { + printk("module %s don't have exit function...\n", mod->name); + } + else + { + printk("module %s exit function address %p\n", mod->name, origin_exit_addr); + } + mod->exit = force_replace_exit_module_function; + printk("replace module %s exit function address (%p -=> %p)\n", mod->name, origin_exit_addr, mod->exit); #endif printk("[after] name:%s, state:%d, refcnt:%u\n", diff --git a/study/driver/force_rmmod/rmmod/force_rmmod2.c b/study/driver/force_rmmod/src/01-driver/force_rmmod2.c similarity index 100% rename from study/driver/force_rmmod/rmmod/force_rmmod2.c rename to study/driver/force_rmmod/src/01-driver/force_rmmod2.c diff --git a/study/driver/force_rmmod/src/02-stap/test.stp b/study/driver/force_rmmod/src/02-stap/test.stp new file mode 100644 index 0000000..0e120b4 --- /dev/null +++ b/study/driver/force_rmmod/src/02-stap/test.stp @@ -0,0 +1,22 @@ +#!/usr/bin/stap + +probe begin +{ + log("begin to probe") +} + +probe syscall.open +{ + printf("%s(%d) open (%s)\n", execname( ), pid( ), argstr) +} + +# after 4 seconds +probe timer.ms(4000) +{ + exit( ) +} + +probe end +{ + log("end to probe") +} diff --git a/study/driver/force_rmmod/todo.md b/study/driver/force_rmmod/todo.md new file mode 100644 index 0000000..573cc79 --- /dev/null +++ b/study/driver/force_rmmod/todo.md @@ -0,0 +1,9 @@ +近期想做的事情 + + +1--实验一个强制卸载内核异常驱动的外部模块 + 外部驱动 + systemtap实现 + 守护进程或者proc方式实验 + +2--