1*4882a593SmuzhiyunFrom 0dad6d78a7fb5f6c5fb4a1d646040539db6cf865 Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Chih-Wei Huang <cwhuang@linux.org.tw>
3*4882a593SmuzhiyunDate: Tue, 26 Feb 2019 18:42:20 +0800
4*4882a593SmuzhiyunSubject: [PATCH] Fix another error of -Werror=address-of-packed-member
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunAndroid 9 clang complains:
7*4882a593Smuzhiyun
8*4882a593Smuzhiyunexternal/efivar/src/dp-message.c:367:24: error: taking address of packed member '' of class or structure 'efidp_infiniband' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member]
9*4882a593Smuzhiyun                                    (efi_guid_t *)&dp->infiniband.ioc_guid);
10*4882a593Smuzhiyun                                                   ^~~~~~~~~~~~~~~~~~~~~~~
11*4882a593Smuzhiyunexternal/efivar/src/dp.h:76:19: note: expanded from macro 'format_guid'
12*4882a593Smuzhiyun                memmove(&_guid, guid, sizeof(_guid));                   \
13*4882a593Smuzhiyun                                ^~~~
14*4882a593Smuzhiyun1 error generated.
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunSince commit c3c553d the fifth parameter of format_guid() is treated as
17*4882a593Smuzhiyuna const void *. The casting is unnecessary.
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunSigned-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
20*4882a593Smuzhiyun[james.hilliard1@gmail.com: backport from upstream commit
21*4882a593Smuzhiyun0dad6d78a7fb5f6c5fb4a1d646040539db6cf865]
22*4882a593SmuzhiyunSigned-off-by: James Hilliard <james.hilliard1@gmail.com>
23*4882a593Smuzhiyun---
24*4882a593Smuzhiyun src/dp-media.c   | 3 +--
25*4882a593Smuzhiyun src/dp-message.c | 2 +-
26*4882a593Smuzhiyun 2 files changed, 2 insertions(+), 3 deletions(-)
27*4882a593Smuzhiyun
28*4882a593Smuzhiyundiff --git a/src/dp-media.c b/src/dp-media.c
29*4882a593Smuzhiyunindex 96a576f..be691c4 100644
30*4882a593Smuzhiyun--- a/src/dp-media.c
31*4882a593Smuzhiyun+++ b/src/dp-media.c
32*4882a593Smuzhiyun@@ -46,8 +46,7 @@ _format_media_dn(char *buf, size_t size, const_efidp dp)
33*4882a593Smuzhiyun 			break;
34*4882a593Smuzhiyun 		case EFIDP_HD_SIGNATURE_GUID:
35*4882a593Smuzhiyun 			format(buf, size, off, "HD", "GPT,");
36*4882a593Smuzhiyun-			format_guid(buf, size, off, "HD",
37*4882a593Smuzhiyun-				    (efi_guid_t *)dp->hd.signature);
38*4882a593Smuzhiyun+			format_guid(buf, size, off, "HD", dp->hd.signature);
39*4882a593Smuzhiyun 			format(buf, size, off, "HD",
40*4882a593Smuzhiyun 			       ",0x%"PRIx64",0x%"PRIx64")",
41*4882a593Smuzhiyun 			       dp->hd.start, dp->hd.size);
42*4882a593Smuzhiyundiff --git a/src/dp-message.c b/src/dp-message.c
43*4882a593Smuzhiyunindex 9f96466..6b8e907 100644
44*4882a593Smuzhiyun--- a/src/dp-message.c
45*4882a593Smuzhiyun+++ b/src/dp-message.c
46*4882a593Smuzhiyun@@ -364,7 +364,7 @@ _format_message_dn(char *buf, size_t size, const_efidp dp)
47*4882a593Smuzhiyun 			       dp->infiniband.port_gid[1],
48*4882a593Smuzhiyun 			       dp->infiniband.port_gid[0]);
49*4882a593Smuzhiyun 			format_guid(buf, size, off, "Infiniband",
50*4882a593Smuzhiyun-				    (efi_guid_t *)&dp->infiniband.ioc_guid);
51*4882a593Smuzhiyun+				    &dp->infiniband.ioc_guid);
52*4882a593Smuzhiyun 			format(buf, size, off, "Infiniband",
53*4882a593Smuzhiyun 			       ",%"PRIu64",%"PRIu64")",
54*4882a593Smuzhiyun 			       dp->infiniband.target_port_id,
55*4882a593Smuzhiyun--
56*4882a593Smuzhiyun2.20.1
57*4882a593Smuzhiyun
58