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>
Wed, 25 Jan 2017 10:41:44 +0000 (11:41 +0100)
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>
drivers/misc/lkdtm_core.c

index 7eeb71a755499f94cb576902200472145c331e25..4d44084071d82bd98001f42215fde7b09964de50 100644 (file)
@@ -535,7 +535,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");
 }