linux/fs/nls
Ali Ahmet Memiş 8e17b922af
nls: fix the Unicode to charset tables of iso8859-14
page01 and page1e in nls_iso8859-14.c are identical, so the U+01xx
table is incorrectly replaced by the U+1Exx table. Both are used by
page_uni2charset, causing uni2char() to map 29 code points to the wrong
bytes.

charset2uni() is unaffected and matches the Unicode 8859-14 mapping.

For example:

U+010A -> 0xa6 -> U+1E0A
U+010B -> 0xab -> U+1E0B
U+1E20 -> 0xb2 -> U+0120

22 code points that are not part of ISO 8859-14 are also incorrectly
accepted instead of being rejected.

Regenerate page01 and page1e from charset2uni. glibc iconv agrees with
the resulting mappings, and a full BMP round trip is now lossless.

Signed-off-by: Ali Ahmet Memiş <aliamemis@disroot.org>
Link: https://patch.msgid.link/20260909121032.76647-1-aliamemis@disroot.org
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
2026-09-25 16:04:53 +02:00
..
Kconfig nls: Hide new NLS_UCS2_UTILS 2023-08-31 12:07:34 -05:00
mac-celtic.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
mac-centeuro.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
mac-croatian.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
mac-cyrillic.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
mac-gaelic.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
mac-greek.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
mac-iceland.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
mac-inuit.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
mac-roman.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
mac-romanian.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
mac-turkish.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
Makefile
nls_ascii.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_base.c fs/nls: Fix inconsistency between utf8_to_utf32() and utf32_to_utf8() 2025-12-01 11:58:06 +02:00
nls_cp437.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp737.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp775.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp850.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp852.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp855.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp857.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp860.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp861.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp862.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp863.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp864.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp865.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp866.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp869.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp874.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp932.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp936.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp949.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp950.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp1250.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp1251.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_cp1255.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_euc-jp.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_iso8859-1.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_iso8859-2.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_iso8859-3.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_iso8859-4.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_iso8859-5.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_iso8859-6.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_iso8859-7.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_iso8859-9.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_iso8859-13.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_iso8859-14.c nls: fix the Unicode to charset tables of iso8859-14 2026-09-25 16:04:53 +02:00
nls_iso8859-15.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_koi8-r.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_koi8-ru.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_koi8-u.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00
nls_ucs2_data.h fs/jfs: Use common ucs2 upper case table 2023-08-30 08:55:52 -05:00
nls_ucs2_utils.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
nls_ucs2_utils.h fs/jfs: Use common ucs2 upper case table 2023-08-30 08:55:52 -05:00
nls_utf8.c fs: nls: add missing MODULE_DESCRIPTION() macros 2024-06-03 16:37:07 +02:00