[PATCH 0/1] block: fix conversion of GPT partition name to 7-bit

From: Olivier Gayot
Date: Mon May 22 2023 - 18:50:08 EST


Hello,

While investigating a userspace issue, we noticed that the PARTNAME udev
property for GPT partitions is not always valid ASCII / UTF-8.

The value of the PARTNAME property for GPT partitions is initially set
by the kernel using the utf16_le_to_7bit function.

This function does a very basic conversion from UTF-16 to 7-bit ASCII by
dropping the fist byte of each UTF-16 character and replacing the
remaining byte by "!" if it is not printable.

Essentially, it means that characters outside the ASCII range get
"converted" to other characters which are unrelated. Using this function
for data that is presented in userspace feel questionable and using a
proper conversion to UTF-8 would probably be preferable. However, the
patch attached does not attempt to change this design.

The patch attached actually addresses an implementation issue in the
utf16_le_to_7bit function, which causes the output of the function to
not always be valid 7-bit ASCII.

Olivier Gayot (1):
block: fix conversion of GPT partition name to 7-bit ASCII

block/partitions/efi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Thanks,
Olivier