Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

firmware: Add missing attributes to EFI variable attribute print out from sysfs

Some of the EFI variable attributes are missing from print out from
/sys/firmware/efi/vars/*/attributes. This patch adds those in. It also
updates code to use pre-defined constants for masking current value
of attributes.

Signed-off-by: Khalid Aziz <khalid.aziz@hp.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Acked-by: Matthew Garrett <mjg@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Khalid Aziz and committed by
Greg Kroah-Hartman
70839090 cfe016b1

+14 -3
+14 -3
drivers/firmware/efivars.c
··· 435 435 if (status != EFI_SUCCESS) 436 436 return -EIO; 437 437 438 - if (var->Attributes & 0x1) 438 + if (var->Attributes & EFI_VARIABLE_NON_VOLATILE) 439 439 str += sprintf(str, "EFI_VARIABLE_NON_VOLATILE\n"); 440 - if (var->Attributes & 0x2) 440 + if (var->Attributes & EFI_VARIABLE_BOOTSERVICE_ACCESS) 441 441 str += sprintf(str, "EFI_VARIABLE_BOOTSERVICE_ACCESS\n"); 442 - if (var->Attributes & 0x4) 442 + if (var->Attributes & EFI_VARIABLE_RUNTIME_ACCESS) 443 443 str += sprintf(str, "EFI_VARIABLE_RUNTIME_ACCESS\n"); 444 + if (var->Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) 445 + str += sprintf(str, "EFI_VARIABLE_HARDWARE_ERROR_RECORD\n"); 446 + if (var->Attributes & EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS) 447 + str += sprintf(str, 448 + "EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS\n"); 449 + if (var->Attributes & 450 + EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) 451 + str += sprintf(str, 452 + "EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS\n"); 453 + if (var->Attributes & EFI_VARIABLE_APPEND_WRITE) 454 + str += sprintf(str, "EFI_VARIABLE_APPEND_WRITE\n"); 444 455 return str - buf; 445 456 } 446 457