partitions/efi: Fix partition name parsing in GUID partition entry
authorNikolai Merinov <n.merinov@inango-systems.com>
Sun, 8 Mar 2020 08:08:59 +0000 (09:08 +0100)
committerIngo Molnar <mingo@kernel.org>
Sun, 8 Mar 2020 09:00:09 +0000 (10:00 +0100)
commitd5528d5e91041e68e8eab9792ce627705a0ed273
tree40a60cb87371ddc1a7b16228fa3e0644a16bae27
parent0347d8c28cbbfd92527bad05931a458dbd62dc79
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/
block/partitions/efi.c
block/partitions/efi.h