summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Weißschuh <linux@weissschuh.net>2024-08-09 17:38:53 +0200
committerGabriel Krisman Bertazi <krisman@suse.de>2024-08-13 15:21:50 -0400
commit43bf9d9755bd21970d8382dc88f071f74fc18fbf (patch)
tree60c041adf57419f326addb2b56829c31ba69e4dd
parent17712b7ea0756799635ba159cc773082230ed028 (diff)
downloadlwn-43bf9d9755bd21970d8382dc88f071f74fc18fbf.tar.gz
lwn-43bf9d9755bd21970d8382dc88f071f74fc18fbf.zip
unicode: constify utf8 data table
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>
-rw-r--r--fs/unicode/mkutf8data.c2
-rw-r--r--fs/unicode/utf8data.c_shipped2
-rw-r--r--fs/unicode/utf8n.h2
3 files changed, 3 insertions, 3 deletions
diff --git a/fs/unicode/mkutf8data.c b/fs/unicode/mkutf8data.c
index 77b685db8275..57e0e290ce6f 100644
--- a/fs/unicode/mkutf8data.c
+++ b/fs/unicode/mkutf8data.c
@@ -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");
diff --git a/fs/unicode/utf8data.c_shipped b/fs/unicode/utf8data.c_shipped
index dafa5fed761d..73a93d49b3ba 100644
--- a/fs/unicode/utf8data.c_shipped
+++ b/fs/unicode/utf8data.c_shipped
@@ -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),
diff --git a/fs/unicode/utf8n.h b/fs/unicode/utf8n.h
index bd00d587747a..fc703aa4b28e 100644
--- a/fs/unicode/utf8n.h
+++ b/fs/unicode/utf8n.h
@@ -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 */