efi/esrt: Allow ESRT access without CAP_SYS_ADMIN
authorNicholas Bishop <nicholasbishop@google.com>
Fri, 12 May 2023 19:43:02 +0000 (19:43 +0000)
committerArd Biesheuvel <ardb@kernel.org>
Tue, 6 Jun 2023 13:33:59 +0000 (15:33 +0200)
Access to the files in /sys/firmware/efi/esrt has been restricted to
CAP_SYS_ADMIN since support for ESRT was added, but this seems overly
restrictive given that the files are read-only and just provide
information about UEFI firmware updates.

Remove the CAP_SYS_ADMIN restriction so that a non-root process can read
the files, provided a suitably-privileged process changes the file
ownership first. The files are still read-only and still owned by root
by default.

Signed-off-by: Nicholas Bishop <nicholasbishop@google.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
drivers/firmware/efi/esrt.c

index c613986..7a81c0c 100644 (file)
@@ -95,10 +95,6 @@ static ssize_t esre_attr_show(struct kobject *kobj,
        struct esre_entry *entry = to_entry(kobj);
        struct esre_attribute *attr = to_attr(_attr);
 
-       /* Don't tell normal users what firmware versions we've got... */
-       if (!capable(CAP_SYS_ADMIN))
-               return -EACCES;
-
        return attr->show(entry, buf);
 }