Lock down kprobes
authorDavid Howells <dhowells@redhat.com>
Wed, 8 Nov 2017 16:14:12 +0000 (16:14 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 23 Nov 2018 19:15:55 +0000 (19:15 +0000)
Disallow the creation of kprobes when the kernel is locked down by
preventing their registration.  This prevents kprobes from being used to
access kernel memory, either to make modifications or to steal crypto data.

Reported-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Gbp-Pq: Topic features/all/lockdown
Gbp-Pq: Name 0026-Lock-down-kprobes.patch

kernel/kprobes.c

index 07f912b765db3bcf9359916739568b3017defe5c..e4c57c539146210fbcb9517caed2d2e82793ae1b 100644 (file)
@@ -1574,6 +1574,9 @@ int register_kprobe(struct kprobe *p)
        struct module *probed_mod;
        kprobe_opcode_t *addr;
 
+       if (kernel_is_locked_down("Use of kprobes"))
+               return -EPERM;
+
        /* Adjust probe address from symbol */
        addr = kprobe_addr(p);
        if (IS_ERR(addr))