summaryrefslogtreecommitdiffstats
path: root/block/partitions/efi.h
diff options
context:
space:
mode:
authorNikolai Merinov <n.merinov@inango-systems.com>2020-03-08 09:08:59 +0100
committerIngo Molnar <mingo@kernel.org>2020-03-08 10:00:09 +0100
commitd5528d5e91041e68e8eab9792ce627705a0ed273 (patch)
tree40a60cb87371ddc1a7b16228fa3e0644a16bae27 /block/partitions/efi.h
parent0347d8c28cbbfd92527bad05931a458dbd62dc79 (diff)
partitions/efi: Fix partition name parsing in GUID partition entry
GUID partition entry defined to have a partition name as 36 UTF-16LE code units. This means that on big-endian platforms ASCII symbols would be read with 0xXX00 efi_char16_t character code. In order to correctly extract ASCII characters from a partition name field we should be converted from 16LE to CPU architecture. The problem exists on all big endian platforms. [ mingo: Minor edits. ] Fixes: eec7ecfede74 ("genhd, efi: add efi partition metadata to hd_structs") Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nikolai Merinov <n.merinov@inango-systems.com> Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/20200308080859.21568-29-ardb@kernel.org Link: https://lore.kernel.org/r/797777312.1324734.1582544319435.JavaMail.zimbra@inango-systems.com/
Diffstat (limited to 'block/partitions/efi.h')
-rw-r--r--block/partitions/efi.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/partitions/efi.h b/block/partitions/efi.h
index 3e8576157575..5fc62fd8d9a9 100644
--- a/block/partitions/efi.h
+++ b/block/partitions/efi.h
@@ -88,7 +88,7 @@ typedef struct _gpt_entry {
__le64 starting_lba;
__le64 ending_lba;
gpt_entry_attributes attributes;
- efi_char16_t partition_name[72 / sizeof (efi_char16_t)];
+ __le16 partition_name[72/sizeof(__le16)];
} __packed gpt_entry;
typedef struct _gpt_mbr_record {