OSDN Git Service

lkdtm: Fix Oops when unloading the module
authorJuerg Haefliger <juerg.haefliger@hpe.com>
Thu, 19 Jan 2017 10:40:13 +0000 (11:40 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 8 Oct 2017 08:26:07 +0000 (10:26 +0200)
[ 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

index f9154b8..b2989f2 100644 (file)
@@ -533,7 +533,9 @@ static void __exit lkdtm_module_exit(void)
        /* 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");
 }