Lock down kprobes
authorDavid Howells <dhowells@redhat.com>
Wed, 8 Nov 2017 16:14:12 +0000 (16:14 +0000)
committerBastian Blank <waldi@debian.org>
Fri, 22 Jun 2018 09:50:22 +0000 (10:50 +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 0026-Lock-down-kprobes.patch

kernel/kprobes.c

index ea619021d9011dca88f0aa10e3263f7dc2177394..487d1a575d97a0eb9ef006889837b5b6587314d5 100644 (file)
@@ -1561,6 +1561,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))