uswsusp: Disable when the kernel is locked down
authorMatthew Garrett <mjg59@srcf.ucam.org>
Wed, 5 Apr 2017 16:40:30 +0000 (17:40 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 12 Aug 2017 22:09:26 +0000 (23:09 +0100)
uswsusp allows a user process to dump and then restore kernel state, which
makes it possible to modify the running kernel.  Disable this if the kernel
is locked down.

Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Gbp-Pq: Topic features/all/lockdown
Gbp-Pq: Name 0048-uswsusp-Disable-when-the-kernel-is-locked-down.patch

kernel/power/user.c

index 22df9f7ff672425f1200c421eceff5a41c220ff2..e4b926d329b7973ebafcf303671ed71594a5fd30 100644 (file)
@@ -52,6 +52,9 @@ static int snapshot_open(struct inode *inode, struct file *filp)
        if (!hibernation_available())
                return -EPERM;
 
+       if (kernel_is_locked_down())
+               return -EPERM;
+
        lock_system_sleep();
 
        if (!atomic_add_unless(&snapshot_device_available, -1, 0)) {