| From foo@baz Thu Oct 5 10:28:31 CEST 2017 |
| From: Juerg Haefliger <juerg.haefliger@hpe.com> |
| Date: Thu, 19 Jan 2017 11:40:13 +0100 |
| Subject: lkdtm: Fix Oops when unloading the module |
| |
| From: Juerg Haefliger <juerg.haefliger@hpe.com> |
| |
| |
| [ Upstream commit 9ba60573638e2006170ebcc5489fb1e068afbc8f ] |
| |
| No jprobe is registered when the module is loaded without specifying a |
| crashpoint that uses a jprobe. At the moment, we unconditionally try to |
| unregister the jprobe on module unload which results in an Oops. Add a |
| check to fix this. |
| |
| Signed-off-by: Juerg Haefliger <juerg.haefliger@hpe.com> |
| Acked-by: Kees Cook <keescook@chromium.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/misc/lkdtm_core.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/misc/lkdtm_core.c |
| +++ b/drivers/misc/lkdtm_core.c |
| @@ -533,7 +533,9 @@ static void __exit lkdtm_module_exit(voi |
| /* Handle test-specific clean-up. */ |
| lkdtm_usercopy_exit(); |
| |
| - unregister_jprobe(lkdtm_jprobe); |
| + if (lkdtm_jprobe != NULL) |
| + unregister_jprobe(lkdtm_jprobe); |
| + |
| pr_info("Crash point unregistered\n"); |
| } |
| |