Lock down kprobes
authorDavid Howells <dhowells@redhat.com>
Mon, 18 Feb 2019 12:45:02 +0000 (12:45 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 21 Aug 2019 12:48:11 +0000 (13:48 +0100)
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 0024-Lock-down-kprobes.patch

kernel/kprobes.c

index 445337c107e0fd347b912878d24f6541bb64d3bf..c7192c65bfb3002247df23eb9acf66b2c4cd3d32 100644 (file)
@@ -1556,6 +1556,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))