Hi, On 10/6/23 13:29, Bjorn Helgaas wrote: > On Tue, Aug 02, 2022 at 06:12:33PM +0800, Liu Song wrote: >> From: Liu Song <liusong@xxxxxxxxxxxxxxxxx> >> >> Use "find ./linux/* | grep Kconfig | xargs file | grep UTF", can find >> files with utf-8 encoded characters, these files will display garbled >> characters in menuconfig, except for characters with special meanings >> that cannot be modified, modify the characters with obvious errors to >> eliminate the wrong display under meunconfig. Same problems exist in 'nconfig'. (more below) >> >> Signed-off-by: Liu Song <liusong@xxxxxxxxxxxxxxxxx> >> Suggested-by: Bjorn Helgaas <helgaas@xxxxxxxxxx> >> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> >> Tested-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> >> --- >> arch/Kconfig | 2 +- >> drivers/pci/Kconfig | 2 +- >> net/netfilter/ipvs/Kconfig | 8 ++++---- >> 3 files changed, 6 insertions(+), 6 deletions(-) >> >> diff --git a/arch/Kconfig b/arch/Kconfig >> index 5ea3e38..2462337 100644 >> --- a/arch/Kconfig >> +++ b/arch/Kconfig >> @@ -745,7 +745,7 @@ config CFI_CLANG >> depends on CLANG_VERSION >= 140000 >> select KALLSYMS >> help >> - This option enables Clang’s forward-edge Control Flow Integrity >> + This option enables Clang's forward-edge Control Flow Integrity > > Menuconfig renders as "Clang ~@~Ys forward-edge", so this really > should be fixed. > >> (CFI) checking, where the compiler injects a runtime check to each >> indirect function call to ensure the target is a valid function with >> the correct static type. This restricts possible call targets and >> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig >> index 133c732..8102b78 100644 >> --- a/drivers/pci/Kconfig >> +++ b/drivers/pci/Kconfig >> @@ -166,7 +166,7 @@ config PCI_P2PDMA >> depends on ZONE_DEVICE >> select GENERIC_ALLOCATOR >> help >> - Enableѕ drivers to do PCI peer-to-peer transactions to and from >> + Enables drivers to do PCI peer-to-peer transactions to and from > > I applied this one by itself to the PCI tree. > >> diff --git a/net/netfilter/ipvs/Kconfig b/net/netfilter/ipvs/Kconfig >> index 271da84..06b9066 100644 >> --- a/net/netfilter/ipvs/Kconfig >> +++ b/net/netfilter/ipvs/Kconfig >> @@ -308,10 +308,10 @@ config IP_VS_MH_TAB_INDEX >> stored in a hash table. This table is assigned by a preference >> list of the positions to each destination until all slots in >> the table are filled. The index determines the prime for size of >> - the table as 251, 509, 1021, 2039, 4093, 8191, 16381, 32749, >> - 65521 or 131071. When using weights to allow destinations to >> - receive more connections, the table is assigned an amount >> - proportional to the weights specified. The table needs to be large >> + the table as 251, 509, 1021, 2039, 4093, 8191, 16381, 32749, >> + 65521 or 131071. When using weights to allow destinations to >> + receive more connections, the table is assigned an amount >> + proportional to the weights specified. The table needs to be large > > Menuconfig renders this one fine either way, as far as I can tell. > It contains several "c2a0" (UTF-8 non-breaking space) characters: > > 00000180: 660a 0920 2074 6865 2074 6162 6c65 2061 f.. the table a > 00000190: 73c2 a032 3531 2c20 3530 392c 2031 3032 s..251, 509, 102 > ^^ ^^ > 000001a0: 312c 2032 3033 392c 2034 3039 332c 2038 1, 2039, 4093, 8 > 000001b0: 3139 312c 2031 3633 3831 2c20 3332 3734 191, 16381, 3274 > 000001c0: 392c 0a09 2020 3635 3532 3120 6f72 2031 9,.. 65521 or 1 > 000001d0: 3331 3037 312e c2a0 5768 656e 2075 7369 31071...When usi > ^^^^ > 000001e0: 6e67 2077 6569 6768 7473 2074 6f20 616c ng weights to al > 000001f0: 6c6f 7720 6465 7374 696e 6174 696f 6e73 low destinations > 00000200: 2074 6f0a 0920 2072 6563 6569 7665 206d to.. receive m > 00000210: 6f72 6520 636f 6e6e 6563 7469 6f6e 732c ore connections, > 00000220: c2a0 7468 6520 7461 626c 6520 6973 2061 ..the table is a > ^^^^ > 00000230: 7373 6967 6e65 6420 616e 2061 6d6f 756e ssigned an amoun > 00000240: 740a 0920 2070 726f 706f 7274 696f 6e61 t.. proportiona > 00000250: 6c20 746f 2074 6865 2077 6569 6768 7473 l to the weights > 00000260: 2073 7065 6369 6669 6564 2ec2 a054 6865 specified...The > ^^ ^^ > > > There are a few more ugly ones: > > $ find * -name Kconfig\* | xargs grep --color -rIP "[^[:ascii:]]" > crypto/Kconfig: an ε-almost-∆-universal hash function, and an invocation of > > CRYPTO_ADIANTUM > Renders as "an -almost- ~H~F-universal hash function" > > drivers/mtd/nand/raw/Kconfig: tristate "OLPC CAFÉ NAND controller" > drivers/mtd/nand/raw/Kconfig: Use NAND flash attached to the CAFÉ chip designed for the OLPC > > MTD_NAND_CAFE > Renders as "OLPC CAF ~I NAND controller". > > drivers/mtd/spi-nor/Kconfig: 64 KiB block instead of 16 × 4 KiB sectors. > > Renders as "64 KiB block instead of 16 ~W 4 KiB sectors." > > drivers/net/can/usb/Kconfig:from Theobroma Systems like the A31-µQ7 and the RK3399-Q7 > > CAN_UCAN > Renders as "from Theobroma Systems like the A31- Q7 and the RK3399-Q7" > > drivers/net/can/peak_canfd/Kconfig: operated with ambient temperatures in a range of -40 to +85 °C. > > CAN_PEAK_PCIEFD > Renders as "operated with ambient temperatures in a range of -40 to > +85 C." > > drivers/gpu/drm/panel/Kconfig: The panel has a 1200(RGB)×1920 (WUXGA) resolution and uses > > DRM_PANEL_JDI_LT070ME05000 > Renders as "The panel has a 1200(RGB) ~W1920 (WUXGA) resolution" > > drivers/gpu/drm/panel/Kconfig: panel module. The panel has a 1024×600 resolution and uses > > DRM_PANEL_TDO_TL070WSH30 > Renders as "panel module. The panel has a 1024 ~W600 resolution" > > drivers/platform/mellanox/Kconfig: The processor used on SN2201 is Intel Atom®Processor C Series, > > CONFIG_NVSW_SN2201 > Renders as "The processor used on SN2201 is Intel Atom Processor C Series," > (Not terrible, just an extra space, but lost the (R)) > > drivers/platform/mellanox/Kconfig: System equipped with Nvidia®Spectrum-1 32x100GbE Ethernet switch. > > Also CONFIG_NVSW_SN2201 > Renders as "System equipped with Nvidia Spectrum-1 32x100GbE Ethernet switch." > (Again, just an extra space but lost the (R)) > > kernel/time/Kconfig: int "Clocksource watchdog maximum allowable skew (in μs)" > > CLOCKSOURCE_WATCHDOG_MAX_SKEW_US > Renders as "Clocksource watchdog maximum allowable skew (in s)" > Clearly wrong. I have verified all of these comments that Bjorn made (just checking :). Is there some world where these characters display correctly? (other than in gconfig & xconfig -- they have no problems with these characters) thanks. -- ~Randy