]> git.armaanb.net Git - asd-repo.git/blobdiff - core/efivar/patches/00-b98ba8921010d03f46704a476c69861515deb1ca.patch
efivar, efibootmgr: move to extra
[asd-repo.git] / core / efivar / patches / 00-b98ba8921010d03f46704a476c69861515deb1ca.patch
diff --git a/core/efivar/patches/00-b98ba8921010d03f46704a476c69861515deb1ca.patch b/core/efivar/patches/00-b98ba8921010d03f46704a476c69861515deb1ca.patch
deleted file mode 100644 (file)
index f40942f..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From b98ba8921010d03f46704a476c69861515deb1ca Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Mon, 7 Jan 2019 10:30:59 -0500
-Subject: [PATCH] dp.h: make format_guid() handle misaligned guid pointers
- safely.
-
-GCC 9 adds -Werror=address-of-packed-member, which causes us to see the
-build error reported at
- https://bugzilla.opensuse.org/show_bug.cgi?id=1120862 .
-
-That bug report shows us the following:
-
-In file included from dp.c:26:
-dp.h: In function 'format_vendor_helper':
-dp.h:120:37: error: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Werror=address-of-packed-member]
-  120 |  format_guid(buf, size, off, label, &dp->hw_vendor.vendor_guid);
-      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
-dp.h:74:25: note: in definition of macro 'format_guid'
-   74 |   _rc = efi_guid_to_str(guid, &_guidstr);   \
-      |                         ^~~~
-cc1: all warnings being treated as errors
-
-This patch makes format_guid() use a local variable as a bounce buffer
-in the case that the guid we're passed is aligned as chaotic neutral.
-
-Note that this only fixes this instance and there may be others that bz
-didn't show because it exited too soon, and I don't have a gcc 9 build
-in front of me right now.
-
-Signed-off-by: Peter Jones <pjones@redhat.com>
----
- src/dp.h | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/src/dp.h b/src/dp.h
-index aa4e390..20cb608 100644
---- a/src/dp.h
-+++ b/src/dp.h
-@@ -70,8 +70,15 @@
- #define format_guid(buf, size, off, dp_type, guid) ({                 \
-               int _rc;                                                \
-               char *_guidstr = NULL;                                  \
--                                                                      \
--              _rc = efi_guid_to_str(guid, &_guidstr);                 \
-+              efi_guid_t _guid;                                       \
-+              const efi_guid_t * const _guid_p =                      \
-+                      likely(__alignof__(guid) == sizeof(guid))       \
-+                              ? guid                                  \
-+                              : &_guid;                               \
-+                                                                      \
-+              if (unlikely(__alignof__(guid) == sizeof(guid)))        \
-+                      memmove(&_guid, guid, sizeof(_guid));           \
-+              _rc = efi_guid_to_str(_guid_p, &_guidstr);              \
-               if (_rc < 0) {                                          \
-                       efi_error("could not build %s GUID DP string",  \
-                                 dp_type);                             \