aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2008-10-13 05:46:57 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-13 13:10:37 -0400
commita447c0932445f92ce6f4c1bd020f62c5097a7842 (patch)
treebacf05bc7f9764515cdd6f7dc5e2254776b4f160
parent54cebc68c81eacac41a21bdfe99dc889d3882c60 (diff)
vfs: Use const for kernel parser table
This is a much better version of a previous patch to make the parser tables constant. Rather than changing the typedef, we put the "const" in all the various places where its required, allowing the __initconst exception for nfsroot which was the cause of the previous trouble. This was posted for review some time ago and I believe its been in -mm since then. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com> Cc: Alexander Viro <aviro@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/powerpc/platforms/cell/spufs/inode.c2
-rw-r--r--arch/s390/hypfs/inode.c2
-rw-r--r--drivers/infiniband/ulp/srp/ib_srp.c2
-rw-r--r--drivers/usb/core/inode.c2
-rw-r--r--fs/9p/v9fs.c2
-rw-r--r--fs/adfs/super.c2
-rw-r--r--fs/affs/super.c2
-rw-r--r--fs/afs/super.c2
-rw-r--r--fs/autofs/inode.c2
-rw-r--r--fs/autofs4/inode.c2
-rw-r--r--fs/befs/linuxvfs.c2
-rw-r--r--fs/devpts/inode.c2
-rw-r--r--fs/ecryptfs/main.c2
-rw-r--r--fs/ext2/super.c2
-rw-r--r--fs/ext3/super.c2
-rw-r--r--fs/ext4/super.c2
-rw-r--r--fs/fat/inode.c6
-rw-r--r--fs/fuse/inode.c2
-rw-r--r--fs/gfs2/mount.c2
-rw-r--r--fs/hfs/super.c2
-rw-r--r--fs/hfsplus/options.c2
-rw-r--r--fs/hpfs/super.c2
-rw-r--r--fs/hugetlbfs/inode.c2
-rw-r--r--fs/isofs/inode.c2
-rw-r--r--fs/jfs/super.c2
-rw-r--r--fs/nfs/nfsroot.c2
-rw-r--r--fs/nfs/super.c6
-rw-r--r--fs/ocfs2/super.c2
-rw-r--r--fs/omfs/inode.c2
-rw-r--r--fs/ubifs/super.c2
-rw-r--r--fs/udf/super.c2
-rw-r--r--fs/ufs/super.c4
-rw-r--r--fs/xfs/linux-2.6/xfs_super.c2
-rw-r--r--include/linux/parser.h2
-rw-r--r--lib/parser.c2
-rw-r--r--net/9p/client.c2
-rw-r--r--net/9p/trans_fd.c2
-rw-r--r--security/selinux/hooks.c2
38 files changed, 43 insertions, 43 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c
index 690ca7b0dcf6..2c8b8091250f 100644
--- a/arch/powerpc/platforms/cell/spufs/inode.c
+++ b/arch/powerpc/platforms/cell/spufs/inode.c
@@ -659,7 +659,7 @@ enum {
659 Opt_uid, Opt_gid, Opt_mode, Opt_debug, Opt_err, 659 Opt_uid, Opt_gid, Opt_mode, Opt_debug, Opt_err,
660}; 660};
661 661
662static match_table_t spufs_tokens = { 662static const match_table_t spufs_tokens = {
663 { Opt_uid, "uid=%d" }, 663 { Opt_uid, "uid=%d" },
664 { Opt_gid, "gid=%d" }, 664 { Opt_gid, "gid=%d" },
665 { Opt_mode, "mode=%o" }, 665 { Opt_mode, "mode=%o" },
diff --git a/arch/s390/hypfs/inode.c b/arch/s390/hypfs/inode.c
index 7383781f3e6a..36313801cd5c 100644
--- a/arch/s390/hypfs/inode.c
+++ b/arch/s390/hypfs/inode.c
@@ -219,7 +219,7 @@ static int hypfs_release(struct inode *inode, struct file *filp)
219 219
220enum { opt_uid, opt_gid, opt_err }; 220enum { opt_uid, opt_gid, opt_err };
221 221
222static match_table_t hypfs_tokens = { 222static const match_table_t hypfs_tokens = {
223 {opt_uid, "uid=%u"}, 223 {opt_uid, "uid=%u"},
224 {opt_gid, "gid=%u"}, 224 {opt_gid, "gid=%u"},
225 {opt_err, NULL} 225 {opt_err, NULL}
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
index ed7c5f72cb8b..5b8b533f2908 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -1683,7 +1683,7 @@ enum {
1683 SRP_OPT_SERVICE_ID), 1683 SRP_OPT_SERVICE_ID),
1684}; 1684};
1685 1685
1686static match_table_t srp_opt_tokens = { 1686static const match_table_t srp_opt_tokens = {
1687 { SRP_OPT_ID_EXT, "id_ext=%s" }, 1687 { SRP_OPT_ID_EXT, "id_ext=%s" },
1688 { SRP_OPT_IOC_GUID, "ioc_guid=%s" }, 1688 { SRP_OPT_IOC_GUID, "ioc_guid=%s" },
1689 { SRP_OPT_DGID, "dgid=%s" }, 1689 { SRP_OPT_DGID, "dgid=%s" },
diff --git a/drivers/usb/core/inode.c b/drivers/usb/core/inode.c
index db410e92c80d..77fa7a080801 100644
--- a/drivers/usb/core/inode.c
+++ b/drivers/usb/core/inode.c
@@ -97,7 +97,7 @@ enum {
97 Opt_err, 97 Opt_err,
98}; 98};
99 99
100static match_table_t tokens = { 100static const match_table_t tokens = {
101 {Opt_devuid, "devuid=%u"}, 101 {Opt_devuid, "devuid=%u"},
102 {Opt_devgid, "devgid=%u"}, 102 {Opt_devgid, "devgid=%u"},
103 {Opt_devmode, "devmode=%o"}, 103 {Opt_devmode, "devmode=%o"},
diff --git a/fs/9p/v9fs.c b/fs/9p/v9fs.c
index 047c791427aa..c061c3f18e7c 100644
--- a/fs/9p/v9fs.c
+++ b/fs/9p/v9fs.c
@@ -55,7 +55,7 @@ enum {
55 Opt_err 55 Opt_err
56}; 56};
57 57
58static match_table_t tokens = { 58static const match_table_t tokens = {
59 {Opt_debug, "debug=%x"}, 59 {Opt_debug, "debug=%x"},
60 {Opt_dfltuid, "dfltuid=%u"}, 60 {Opt_dfltuid, "dfltuid=%u"},
61 {Opt_dfltgid, "dfltgid=%u"}, 61 {Opt_dfltgid, "dfltgid=%u"},
diff --git a/fs/adfs/super.c b/fs/adfs/super.c
index 26f3b43726bb..7f83a46f2b7e 100644
--- a/fs/adfs/super.c
+++ b/fs/adfs/super.c
@@ -157,7 +157,7 @@ static int adfs_show_options(struct seq_file *seq, struct vfsmount *mnt)
157 157
158enum {Opt_uid, Opt_gid, Opt_ownmask, Opt_othmask, Opt_err}; 158enum {Opt_uid, Opt_gid, Opt_ownmask, Opt_othmask, Opt_err};
159 159
160static match_table_t tokens = { 160static const match_table_t tokens = {
161 {Opt_uid, "uid=%u"}, 161 {Opt_uid, "uid=%u"},
162 {Opt_gid, "gid=%u"}, 162 {Opt_gid, "gid=%u"},
163 {Opt_ownmask, "ownmask=%o"}, 163 {Opt_ownmask, "ownmask=%o"},
diff --git a/fs/affs/super.c b/fs/affs/super.c
index 3a89094f93d0..8989c93193ed 100644
--- a/fs/affs/super.c
+++ b/fs/affs/super.c
@@ -135,7 +135,7 @@ enum {
135 Opt_verbose, Opt_volume, Opt_ignore, Opt_err, 135 Opt_verbose, Opt_volume, Opt_ignore, Opt_err,
136}; 136};
137 137
138static match_table_t tokens = { 138static const match_table_t tokens = {
139 {Opt_bs, "bs=%u"}, 139 {Opt_bs, "bs=%u"},
140 {Opt_mode, "mode=%o"}, 140 {Opt_mode, "mode=%o"},
141 {Opt_mufs, "mufs"}, 141 {Opt_mufs, "mufs"},
diff --git a/fs/afs/super.c b/fs/afs/super.c
index 250d8c4d66e4..aee239a048cb 100644
--- a/fs/afs/super.c
+++ b/fs/afs/super.c
@@ -64,7 +64,7 @@ enum {
64 afs_opt_vol, 64 afs_opt_vol,
65}; 65};
66 66
67static match_table_t afs_options_list = { 67static const match_table_t afs_options_list = {
68 { afs_opt_cell, "cell=%s" }, 68 { afs_opt_cell, "cell=%s" },
69 { afs_opt_rwpath, "rwpath" }, 69 { afs_opt_rwpath, "rwpath" },
70 { afs_opt_vol, "vol=%s" }, 70 { afs_opt_vol, "vol=%s" },
diff --git a/fs/autofs/inode.c b/fs/autofs/inode.c
index dda510d31f84..b70eea1e8c59 100644
--- a/fs/autofs/inode.c
+++ b/fs/autofs/inode.c
@@ -59,7 +59,7 @@ static const struct super_operations autofs_sops = {
59 59
60enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp, Opt_minproto, Opt_maxproto}; 60enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp, Opt_minproto, Opt_maxproto};
61 61
62static match_table_t autofs_tokens = { 62static const match_table_t autofs_tokens = {
63 {Opt_fd, "fd=%u"}, 63 {Opt_fd, "fd=%u"},
64 {Opt_uid, "uid=%u"}, 64 {Opt_uid, "uid=%u"},
65 {Opt_gid, "gid=%u"}, 65 {Opt_gid, "gid=%u"},
diff --git a/fs/autofs4/inode.c b/fs/autofs4/inode.c
index 7bb3e5ba0537..45d55819203d 100644
--- a/fs/autofs4/inode.c
+++ b/fs/autofs4/inode.c
@@ -213,7 +213,7 @@ static const struct super_operations autofs4_sops = {
213enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp, Opt_minproto, Opt_maxproto, 213enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp, Opt_minproto, Opt_maxproto,
214 Opt_indirect, Opt_direct, Opt_offset}; 214 Opt_indirect, Opt_direct, Opt_offset};
215 215
216static match_table_t tokens = { 216static const match_table_t tokens = {
217 {Opt_fd, "fd=%u"}, 217 {Opt_fd, "fd=%u"},
218 {Opt_uid, "uid=%u"}, 218 {Opt_uid, "uid=%u"},
219 {Opt_gid, "gid=%u"}, 219 {Opt_gid, "gid=%u"},
diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c
index 740f53672a8a..9286b2af893a 100644
--- a/fs/befs/linuxvfs.c
+++ b/fs/befs/linuxvfs.c
@@ -650,7 +650,7 @@ enum {
650 Opt_uid, Opt_gid, Opt_charset, Opt_debug, Opt_err, 650 Opt_uid, Opt_gid, Opt_charset, Opt_debug, Opt_err,
651}; 651};
652 652
653static match_table_t befs_tokens = { 653static const match_table_t befs_tokens = {
654 {Opt_uid, "uid=%d"}, 654 {Opt_uid, "uid=%d"},
655 {Opt_gid, "gid=%d"}, 655 {Opt_gid, "gid=%d"},
656 {Opt_charset, "iocharset=%s"}, 656 {Opt_charset, "iocharset=%s"},
diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c
index a70d5d0890c7..4a714f6c1bed 100644
--- a/fs/devpts/inode.c
+++ b/fs/devpts/inode.c
@@ -49,7 +49,7 @@ enum {
49 Opt_err 49 Opt_err
50}; 50};
51 51
52static match_table_t tokens = { 52static const match_table_t tokens = {
53 {Opt_uid, "uid=%u"}, 53 {Opt_uid, "uid=%u"},
54 {Opt_gid, "gid=%u"}, 54 {Opt_gid, "gid=%u"},
55 {Opt_mode, "mode=%o"}, 55 {Opt_mode, "mode=%o"},
diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c
index 448dfd597b5f..8ebe9a5d1d99 100644
--- a/fs/ecryptfs/main.c
+++ b/fs/ecryptfs/main.c
@@ -211,7 +211,7 @@ enum { ecryptfs_opt_sig, ecryptfs_opt_ecryptfs_sig,
211 ecryptfs_opt_passthrough, ecryptfs_opt_xattr_metadata, 211 ecryptfs_opt_passthrough, ecryptfs_opt_xattr_metadata,
212 ecryptfs_opt_encrypted_view, ecryptfs_opt_err }; 212 ecryptfs_opt_encrypted_view, ecryptfs_opt_err };
213 213
214static match_table_t tokens = { 214static const match_table_t tokens = {
215 {ecryptfs_opt_sig, "sig=%s"}, 215 {ecryptfs_opt_sig, "sig=%s"},
216 {ecryptfs_opt_ecryptfs_sig, "ecryptfs_sig=%s"}, 216 {ecryptfs_opt_ecryptfs_sig, "ecryptfs_sig=%s"},
217 {ecryptfs_opt_cipher, "cipher=%s"}, 217 {ecryptfs_opt_cipher, "cipher=%s"},
diff --git a/fs/ext2/super.c b/fs/ext2/super.c
index fd88c7b43e66..647cd888ac87 100644
--- a/fs/ext2/super.c
+++ b/fs/ext2/super.c
@@ -393,7 +393,7 @@ enum {
393 Opt_usrquota, Opt_grpquota, Opt_reservation, Opt_noreservation 393 Opt_usrquota, Opt_grpquota, Opt_reservation, Opt_noreservation
394}; 394};
395 395
396static match_table_t tokens = { 396static const match_table_t tokens = {
397 {Opt_bsd_df, "bsddf"}, 397 {Opt_bsd_df, "bsddf"},
398 {Opt_minix_df, "minixdf"}, 398 {Opt_minix_df, "minixdf"},
399 {Opt_grpid, "grpid"}, 399 {Opt_grpid, "grpid"},
diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index f38a5afc39a1..399a96a6c556 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -760,7 +760,7 @@ enum {
760 Opt_grpquota 760 Opt_grpquota
761}; 761};
762 762
763static match_table_t tokens = { 763static const match_table_t tokens = {
764 {Opt_bsd_df, "bsddf"}, 764 {Opt_bsd_df, "bsddf"},
765 {Opt_minix_df, "minixdf"}, 765 {Opt_minix_df, "minixdf"},
766 {Opt_grpid, "grpid"}, 766 {Opt_grpid, "grpid"},
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index fb940c22ab0d..dea8f13c2fd9 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -919,7 +919,7 @@ enum {
919 Opt_inode_readahead_blks 919 Opt_inode_readahead_blks
920}; 920};
921 921
922static match_table_t tokens = { 922static const match_table_t tokens = {
923 {Opt_bsd_df, "bsddf"}, 923 {Opt_bsd_df, "bsddf"},
924 {Opt_minix_df, "minixdf"}, 924 {Opt_minix_df, "minixdf"},
925 {Opt_grpid, "grpid"}, 925 {Opt_grpid, "grpid"},
diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index 80ff3381fa21..d12cdf2a0406 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -855,7 +855,7 @@ enum {
855 Opt_obsolate, Opt_flush, Opt_tz_utc, Opt_err, 855 Opt_obsolate, Opt_flush, Opt_tz_utc, Opt_err,
856}; 856};
857 857
858static match_table_t fat_tokens = { 858static const match_table_t fat_tokens = {
859 {Opt_check_r, "check=relaxed"}, 859 {Opt_check_r, "check=relaxed"},
860 {Opt_check_s, "check=strict"}, 860 {Opt_check_s, "check=strict"},
861 {Opt_check_n, "check=normal"}, 861 {Opt_check_n, "check=normal"},
@@ -890,14 +890,14 @@ static match_table_t fat_tokens = {
890 {Opt_tz_utc, "tz=UTC"}, 890 {Opt_tz_utc, "tz=UTC"},
891 {Opt_err, NULL}, 891 {Opt_err, NULL},
892}; 892};
893static match_table_t msdos_tokens = { 893static const match_table_t msdos_tokens = {
894 {Opt_nodots, "nodots"}, 894 {Opt_nodots, "nodots"},
895 {Opt_nodots, "dotsOK=no"}, 895 {Opt_nodots, "dotsOK=no"},
896 {Opt_dots, "dots"}, 896 {Opt_dots, "dots"},
897 {Opt_dots, "dotsOK=yes"}, 897 {Opt_dots, "dotsOK=yes"},
898 {Opt_err, NULL} 898 {Opt_err, NULL}
899}; 899};
900static match_table_t vfat_tokens = { 900static const match_table_t vfat_tokens = {
901 {Opt_charset, "iocharset=%s"}, 901 {Opt_charset, "iocharset=%s"},
902 {Opt_shortname_lower, "shortname=lower"}, 902 {Opt_shortname_lower, "shortname=lower"},
903 {Opt_shortname_win95, "shortname=win95"}, 903 {Opt_shortname_win95, "shortname=win95"},
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index d2249f174e20..6a84388cacff 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -354,7 +354,7 @@ enum {
354 OPT_ERR 354 OPT_ERR
355}; 355};
356 356
357static match_table_t tokens = { 357static const match_table_t tokens = {
358 {OPT_FD, "fd=%u"}, 358 {OPT_FD, "fd=%u"},
359 {OPT_ROOTMODE, "rootmode=%o"}, 359 {OPT_ROOTMODE, "rootmode=%o"},
360 {OPT_USER_ID, "user_id=%u"}, 360 {OPT_USER_ID, "user_id=%u"},
diff --git a/fs/gfs2/mount.c b/fs/gfs2/mount.c
index df48333e6f01..f96eb90a2cfa 100644
--- a/fs/gfs2/mount.c
+++ b/fs/gfs2/mount.c
@@ -46,7 +46,7 @@ enum {
46 Opt_err, 46 Opt_err,
47}; 47};
48 48
49static match_table_t tokens = { 49static const match_table_t tokens = {
50 {Opt_lockproto, "lockproto=%s"}, 50 {Opt_lockproto, "lockproto=%s"},
51 {Opt_locktable, "locktable=%s"}, 51 {Opt_locktable, "locktable=%s"},
52 {Opt_hostdata, "hostdata=%s"}, 52 {Opt_hostdata, "hostdata=%s"},
diff --git a/fs/hfs/super.c b/fs/hfs/super.c
index 4abb1047c689..3c7c7637719c 100644
--- a/fs/hfs/super.c
+++ b/fs/hfs/super.c
@@ -173,7 +173,7 @@ enum {
173 opt_err 173 opt_err
174}; 174};
175 175
176static match_table_t tokens = { 176static const match_table_t tokens = {
177 { opt_uid, "uid=%u" }, 177 { opt_uid, "uid=%u" },
178 { opt_gid, "gid=%u" }, 178 { opt_gid, "gid=%u" },
179 { opt_umask, "umask=%o" }, 179 { opt_umask, "umask=%o" },
diff --git a/fs/hfsplus/options.c b/fs/hfsplus/options.c
index 9997cbf8beb5..9699c56d323f 100644
--- a/fs/hfsplus/options.c
+++ b/fs/hfsplus/options.c
@@ -25,7 +25,7 @@ enum {
25 opt_force, opt_err 25 opt_force, opt_err
26}; 26};
27 27
28static match_table_t tokens = { 28static const match_table_t tokens = {
29 { opt_creator, "creator=%s" }, 29 { opt_creator, "creator=%s" },
30 { opt_type, "type=%s" }, 30 { opt_type, "type=%s" },
31 { opt_umask, "umask=%o" }, 31 { opt_umask, "umask=%o" },
diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c
index b8ae9c90ada0..29ad461d568f 100644
--- a/fs/hpfs/super.c
+++ b/fs/hpfs/super.c
@@ -215,7 +215,7 @@ enum {
215 Opt_timeshift, Opt_err, 215 Opt_timeshift, Opt_err,
216}; 216};
217 217
218static match_table_t tokens = { 218static const match_table_t tokens = {
219 {Opt_help, "help"}, 219 {Opt_help, "help"},
220 {Opt_uid, "uid=%u"}, 220 {Opt_uid, "uid=%u"},
221 {Opt_gid, "gid=%u"}, 221 {Opt_gid, "gid=%u"},
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 3f58923fb39b..61edc701b0e6 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -57,7 +57,7 @@ enum {
57 Opt_err, 57 Opt_err,
58}; 58};
59 59
60static match_table_t tokens = { 60static const match_table_t tokens = {
61 {Opt_size, "size=%s"}, 61 {Opt_size, "size=%s"},
62 {Opt_nr_inodes, "nr_inodes=%s"}, 62 {Opt_nr_inodes, "nr_inodes=%s"},
63 {Opt_mode, "mode=%o"}, 63 {Opt_mode, "mode=%o"},
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
index 26948a6033b6..3f8af0f1505b 100644
--- a/fs/isofs/inode.c
+++ b/fs/isofs/inode.c
@@ -310,7 +310,7 @@ enum {
310 Opt_nocompress, Opt_hide, Opt_showassoc, Opt_dmode, 310 Opt_nocompress, Opt_hide, Opt_showassoc, Opt_dmode,
311}; 311};
312 312
313static match_table_t tokens = { 313static const match_table_t tokens = {
314 {Opt_norock, "norock"}, 314 {Opt_norock, "norock"},
315 {Opt_nojoliet, "nojoliet"}, 315 {Opt_nojoliet, "nojoliet"},
316 {Opt_unhide, "unhide"}, 316 {Opt_unhide, "unhide"},
diff --git a/fs/jfs/super.c b/fs/jfs/super.c
index 3630718be395..0dae345e481b 100644
--- a/fs/jfs/super.c
+++ b/fs/jfs/super.c
@@ -199,7 +199,7 @@ enum {
199 Opt_usrquota, Opt_grpquota, Opt_uid, Opt_gid, Opt_umask 199 Opt_usrquota, Opt_grpquota, Opt_uid, Opt_gid, Opt_umask
200}; 200};
201 201
202static match_table_t tokens = { 202static const match_table_t tokens = {
203 {Opt_integrity, "integrity"}, 203 {Opt_integrity, "integrity"},
204 {Opt_nointegrity, "nointegrity"}, 204 {Opt_nointegrity, "nointegrity"},
205 {Opt_iocharset, "iocharset=%s"}, 205 {Opt_iocharset, "iocharset=%s"},
diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c
index 46763d1cd397..8478fc25daee 100644
--- a/fs/nfs/nfsroot.c
+++ b/fs/nfs/nfsroot.c
@@ -127,7 +127,7 @@ enum {
127 Opt_err 127 Opt_err
128}; 128};
129 129
130static match_table_t __initdata tokens = { 130static match_table_t __initconst tokens = {
131 {Opt_port, "port=%u"}, 131 {Opt_port, "port=%u"},
132 {Opt_rsize, "rsize=%u"}, 132 {Opt_rsize, "rsize=%u"},
133 {Opt_wsize, "wsize=%u"}, 133 {Opt_wsize, "wsize=%u"},
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index e9b20173fef3..ffb697416cb1 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -98,7 +98,7 @@ enum {
98 Opt_err 98 Opt_err
99}; 99};
100 100
101static match_table_t nfs_mount_option_tokens = { 101static const match_table_t nfs_mount_option_tokens = {
102 { Opt_userspace, "bg" }, 102 { Opt_userspace, "bg" },
103 { Opt_userspace, "fg" }, 103 { Opt_userspace, "fg" },
104 { Opt_userspace, "retry=%s" }, 104 { Opt_userspace, "retry=%s" },
@@ -163,7 +163,7 @@ enum {
163 Opt_xprt_err 163 Opt_xprt_err
164}; 164};
165 165
166static match_table_t nfs_xprt_protocol_tokens = { 166static const match_table_t nfs_xprt_protocol_tokens = {
167 { Opt_xprt_udp, "udp" }, 167 { Opt_xprt_udp, "udp" },
168 { Opt_xprt_tcp, "tcp" }, 168 { Opt_xprt_tcp, "tcp" },
169 { Opt_xprt_rdma, "rdma" }, 169 { Opt_xprt_rdma, "rdma" },
@@ -180,7 +180,7 @@ enum {
180 Opt_sec_err 180 Opt_sec_err
181}; 181};
182 182
183static match_table_t nfs_secflavor_tokens = { 183static const match_table_t nfs_secflavor_tokens = {
184 { Opt_sec_none, "none" }, 184 { Opt_sec_none, "none" },
185 { Opt_sec_none, "null" }, 185 { Opt_sec_none, "null" },
186 { Opt_sec_sys, "sys" }, 186 { Opt_sec_sys, "sys" },
diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c
index 88255d3f52b4..70334d85aff1 100644
--- a/fs/ocfs2/super.c
+++ b/fs/ocfs2/super.c
@@ -157,7 +157,7 @@ enum {
157 Opt_err, 157 Opt_err,
158}; 158};
159 159
160static match_table_t tokens = { 160static const match_table_t tokens = {
161 {Opt_barrier, "barrier=%u"}, 161 {Opt_barrier, "barrier=%u"},
162 {Opt_err_panic, "errors=panic"}, 162 {Opt_err_panic, "errors=panic"},
163 {Opt_err_ro, "errors=remount-ro"}, 163 {Opt_err_ro, "errors=remount-ro"},
diff --git a/fs/omfs/inode.c b/fs/omfs/inode.c
index d29047b1b9b0..cbf047a847c5 100644
--- a/fs/omfs/inode.c
+++ b/fs/omfs/inode.c
@@ -346,7 +346,7 @@ enum {
346 Opt_uid, Opt_gid, Opt_umask, Opt_dmask, Opt_fmask 346 Opt_uid, Opt_gid, Opt_umask, Opt_dmask, Opt_fmask
347}; 347};
348 348
349static match_table_t tokens = { 349static const match_table_t tokens = {
350 {Opt_uid, "uid=%u"}, 350 {Opt_uid, "uid=%u"},
351 {Opt_gid, "gid=%u"}, 351 {Opt_gid, "gid=%u"},
352 {Opt_umask, "umask=%o"}, 352 {Opt_umask, "umask=%o"},
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index 3f4902060c7a..9a9220333b3b 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -848,7 +848,7 @@ enum {
848 Opt_err, 848 Opt_err,
849}; 849};
850 850
851static match_table_t tokens = { 851static const match_table_t tokens = {
852 {Opt_fast_unmount, "fast_unmount"}, 852 {Opt_fast_unmount, "fast_unmount"},
853 {Opt_norm_unmount, "norm_unmount"}, 853 {Opt_norm_unmount, "norm_unmount"},
854 {Opt_err, NULL}, 854 {Opt_err, NULL},
diff --git a/fs/udf/super.c b/fs/udf/super.c
index 5698bbf83bbf..e25e7010627b 100644
--- a/fs/udf/super.c
+++ b/fs/udf/super.c
@@ -369,7 +369,7 @@ enum {
369 Opt_err, Opt_uforget, Opt_uignore, Opt_gforget, Opt_gignore 369 Opt_err, Opt_uforget, Opt_uignore, Opt_gforget, Opt_gignore
370}; 370};
371 371
372static match_table_t tokens = { 372static const match_table_t tokens = {
373 {Opt_novrs, "novrs"}, 373 {Opt_novrs, "novrs"},
374 {Opt_nostrict, "nostrict"}, 374 {Opt_nostrict, "nostrict"},
375 {Opt_bs, "bs=%u"}, 375 {Opt_bs, "bs=%u"},
diff --git a/fs/ufs/super.c b/fs/ufs/super.c
index 3141969b456d..e65212dfb60e 100644
--- a/fs/ufs/super.c
+++ b/fs/ufs/super.c
@@ -309,7 +309,7 @@ enum {
309 Opt_err 309 Opt_err
310}; 310};
311 311
312static match_table_t tokens = { 312static const match_table_t tokens = {
313 {Opt_type_old, "ufstype=old"}, 313 {Opt_type_old, "ufstype=old"},
314 {Opt_type_sunx86, "ufstype=sunx86"}, 314 {Opt_type_sunx86, "ufstype=sunx86"},
315 {Opt_type_sun, "ufstype=sun"}, 315 {Opt_type_sun, "ufstype=sun"},
@@ -1233,7 +1233,7 @@ static int ufs_show_options(struct seq_file *seq, struct vfsmount *vfs)
1233{ 1233{
1234 struct ufs_sb_info *sbi = UFS_SB(vfs->mnt_sb); 1234 struct ufs_sb_info *sbi = UFS_SB(vfs->mnt_sb);
1235 unsigned mval = sbi->s_mount_opt & UFS_MOUNT_UFSTYPE; 1235 unsigned mval = sbi->s_mount_opt & UFS_MOUNT_UFSTYPE;
1236 struct match_token *tp = tokens; 1236 const struct match_token *tp = tokens;
1237 1237
1238 while (tp->token != Opt_onerror_panic && tp->token != mval) 1238 while (tp->token != Opt_onerror_panic && tp->token != mval)
1239 ++tp; 1239 ++tp;
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c
index 18d3c8487835..7227b2efef22 100644
--- a/fs/xfs/linux-2.6/xfs_super.c
+++ b/fs/xfs/linux-2.6/xfs_super.c
@@ -158,7 +158,7 @@ enum {
158 Opt_barrier, Opt_nobarrier, Opt_err 158 Opt_barrier, Opt_nobarrier, Opt_err
159}; 159};
160 160
161static match_table_t tokens = { 161static const match_table_t tokens = {
162 {Opt_barrier, "barrier"}, 162 {Opt_barrier, "barrier"},
163 {Opt_nobarrier, "nobarrier"}, 163 {Opt_nobarrier, "nobarrier"},
164 {Opt_err, NULL} 164 {Opt_err, NULL}
diff --git a/include/linux/parser.h b/include/linux/parser.h
index 7dcd05075756..ea2281e726f6 100644
--- a/include/linux/parser.h
+++ b/include/linux/parser.h
@@ -25,7 +25,7 @@ typedef struct {
25 char *to; 25 char *to;
26} substring_t; 26} substring_t;
27 27
28int match_token(char *, match_table_t table, substring_t args[]); 28int match_token(char *, const match_table_t table, substring_t args[]);
29int match_int(substring_t *, int *result); 29int match_int(substring_t *, int *result);
30int match_octal(substring_t *, int *result); 30int match_octal(substring_t *, int *result);
31int match_hex(substring_t *, int *result); 31int match_hex(substring_t *, int *result);
diff --git a/lib/parser.c b/lib/parser.c
index 4f0cbc03e0e8..b00d02059a5f 100644
--- a/lib/parser.c
+++ b/lib/parser.c
@@ -100,7 +100,7 @@ static int match_one(char *s, const char *p, substring_t args[])
100 * format identifiers which will be taken into account when matching the 100 * format identifiers which will be taken into account when matching the
101 * tokens, and whose locations will be returned in the @args array. 101 * tokens, and whose locations will be returned in the @args array.
102 */ 102 */
103int match_token(char *s, match_table_t table, substring_t args[]) 103int match_token(char *s, const match_table_t table, substring_t args[])
104{ 104{
105 const struct match_token *p; 105 const struct match_token *p;
106 106
diff --git a/net/9p/client.c b/net/9p/client.c
index 10e320307ec0..e053e06028a5 100644
--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -52,7 +52,7 @@ enum {
52 Opt_err, 52 Opt_err,
53}; 53};
54 54
55static match_table_t tokens = { 55static const match_table_t tokens = {
56 {Opt_msize, "msize=%u"}, 56 {Opt_msize, "msize=%u"},
57 {Opt_legacy, "noextend"}, 57 {Opt_legacy, "noextend"},
58 {Opt_trans, "trans=%s"}, 58 {Opt_trans, "trans=%s"},
diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c
index d652baf5ff91..6dabbdb66651 100644
--- a/net/9p/trans_fd.c
+++ b/net/9p/trans_fd.c
@@ -86,7 +86,7 @@ enum {
86 Opt_port, Opt_rfdno, Opt_wfdno, Opt_err, 86 Opt_port, Opt_rfdno, Opt_wfdno, Opt_err,
87}; 87};
88 88
89static match_table_t tokens = { 89static const match_table_t tokens = {
90 {Opt_port, "port=%u"}, 90 {Opt_port, "port=%u"},
91 {Opt_rfdno, "rfdno=%u"}, 91 {Opt_rfdno, "rfdno=%u"},
92 {Opt_wfdno, "wfdno=%u"}, 92 {Opt_wfdno, "wfdno=%u"},
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index 88f19536efad..576e51199079 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -325,7 +325,7 @@ enum {
325 Opt_rootcontext = 4, 325 Opt_rootcontext = 4,
326}; 326};
327 327
328static match_table_t tokens = { 328static const match_table_t tokens = {
329 {Opt_context, CONTEXT_STR "%s"}, 329 {Opt_context, CONTEXT_STR "%s"},
330 {Opt_fscontext, FSCONTEXT_STR "%s"}, 330 {Opt_fscontext, FSCONTEXT_STR "%s"},
331 {Opt_defcontext, DEFCONTEXT_STR "%s"}, 331 {Opt_defcontext, DEFCONTEXT_STR "%s"},