unicode: constify utf8 data table
authorThomas Weißschuh <linux@weissschuh.net>
Fri, 9 Aug 2024 15:38:53 +0000 (17:38 +0200)
committerGabriel Krisman Bertazi <krisman@suse.de>
Tue, 13 Aug 2024 19:21:50 +0000 (15:21 -0400)
All users already handle the table as const data.
Move the table itself into .rodata to guard against accidental or
malicious modifications.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20240809-unicode-const-v1-1-69968a258092@weissschuh.net
Signed-off-by: Gabriel Krisman Bertazi <krisman@suse.de>
fs/unicode/mkutf8data.c
fs/unicode/utf8data.c_shipped
fs/unicode/utf8n.h

index 77b685d..57e0e29 100644 (file)
@@ -3338,7 +3338,7 @@ static void write_file(void)
        }
        fprintf(file, "};\n");
        fprintf(file, "\n");
-       fprintf(file, "struct utf8data_table utf8_data_table = {\n");
+       fprintf(file, "const struct utf8data_table utf8_data_table = {\n");
        fprintf(file, "\t.utf8agetab = utf8agetab,\n");
        fprintf(file, "\t.utf8agetab_size = ARRAY_SIZE(utf8agetab),\n");
        fprintf(file, "\n");
index dafa5fe..73a93d4 100644 (file)
@@ -4107,7 +4107,7 @@ static const unsigned char utf8data[64256] = {
        0x81,0x80,0xcf,0x86,0x85,0x84,0xcf,0x86,0xcf,0x06,0x02,0x00,0x00,0x00,0x00,0x00
 };
 
-struct utf8data_table utf8_data_table = {
+const struct utf8data_table utf8_data_table = {
        .utf8agetab = utf8agetab,
        .utf8agetab_size = ARRAY_SIZE(utf8agetab),
 
index bd00d58..fc703aa 100644 (file)
@@ -78,6 +78,6 @@ struct utf8data_table {
        const unsigned char *utf8data;
 };
 
-extern struct utf8data_table utf8_data_table;
+extern const struct utf8data_table utf8_data_table;
 
 #endif /* UTF8NORM_H */