All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2 v2] efi: add a function to convert the status value to string
@ 2019-05-02  4:04 Lee, Chun-Yi
  2019-05-02  4:04 ` [PATCH 2/2 v3] efi: print appropriate status message when loading certificates Lee, Chun-Yi
  2019-05-02  8:53 ` [PATCH 1/2 v2] efi: add a function to convert the status value to string Ard Biesheuvel
  0 siblings, 2 replies; 12+ messages in thread
From: Lee, Chun-Yi @ 2019-05-02  4:04 UTC (permalink / raw)
  To: Ard Biesheuvel, James Morris, Serge E . Hallyn, David Howells,
	Josh Boyer, Nayna Jain, Mimi Zohar
  Cc: linux-efi, linux-security-module, linux-kernel, Lee, Chun-Yi,
	Kees Cook, Anton Vorontsov, Colin Cross, Tony Luck

This function can be used to convert EFI status value to string
for printing out debug message. Using this function can improve
the readability of log.

v2.
- Changed the wording in subject and description.
- Moved the marco immediately after the status value definitions.
- Turned into a proper function instead of inline.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Anton Vorontsov <anton@enomsg.org>
Cc: Colin Cross <ccross@android.com>
Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: "Lee, Chun-Yi" <jlee@suse.com>
---
 include/linux/efi.h | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/include/linux/efi.h b/include/linux/efi.h
index 54357a258b35..6f3f89a32eef 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -42,6 +42,34 @@
 #define EFI_ABORTED		(21 | (1UL << (BITS_PER_LONG-1)))
 #define EFI_SECURITY_VIOLATION	(26 | (1UL << (BITS_PER_LONG-1)))
 
+#define EFI_STATUS_STR(_status) \
+case EFI_##_status: \
+	return "EFI_" __stringify(_status);
+
+static __attribute__((unused)) char *
+efi_status_to_str(unsigned long status)
+{
+	switch (status) {
+	EFI_STATUS_STR(SUCCESS)
+	EFI_STATUS_STR(LOAD_ERROR)
+	EFI_STATUS_STR(INVALID_PARAMETER)
+	EFI_STATUS_STR(UNSUPPORTED)
+	EFI_STATUS_STR(BAD_BUFFER_SIZE)
+	EFI_STATUS_STR(BUFFER_TOO_SMALL)
+	EFI_STATUS_STR(NOT_READY)
+	EFI_STATUS_STR(DEVICE_ERROR)
+	EFI_STATUS_STR(WRITE_PROTECTED)
+	EFI_STATUS_STR(OUT_OF_RESOURCES)
+	EFI_STATUS_STR(NOT_FOUND)
+	EFI_STATUS_STR(ABORTED)
+	EFI_STATUS_STR(SECURITY_VIOLATION)
+	default:
+		pr_warn("Unknown efi status: 0x%lx", status);
+	}
+
+	return "Unknown efi status";
+}
+
 typedef unsigned long efi_status_t;
 typedef u8 efi_bool_t;
 typedef u16 efi_char16_t;		/* UNICODE character */
-- 
2.16.4


^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-05-07  8:43 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-02  4:04 [PATCH 1/2 v2] efi: add a function to convert the status value to string Lee, Chun-Yi
2019-05-02  4:04 ` [PATCH 2/2 v3] efi: print appropriate status message when loading certificates Lee, Chun-Yi
2019-05-02  9:04   ` Ard Biesheuvel
2019-05-03  7:18     ` joeyli
2019-05-03  8:07       ` Ard Biesheuvel
2019-05-03  8:58         ` joeyli
2019-05-03 14:23           ` Ard Biesheuvel
2019-05-07  8:43             ` joeyli
2019-05-02  8:53 ` [PATCH 1/2 v2] efi: add a function to convert the status value to string Ard Biesheuvel
2019-05-03  6:15   ` joeyli
2019-05-03  6:16     ` Ard Biesheuvel
2019-05-03  8:01       ` joeyli

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.