diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2007-02-12 03:55:37 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-12 12:48:46 -0500 |
commit | 9c2e08c592cd357a8330c34def1e8ecfdcf53275 (patch) | |
tree | 62e7449e43bb502f2e9630ab41832ceccd9a0f65 /security/selinux | |
parent | da7071d7e32d15149cc513f096a3638097b66387 (diff) |
[PATCH] mark struct file_operations const 9
Many struct file_operations in the kernel can be "const". Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data. In addition it'll catch accidental writes at compile time to
these shared resources.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'security/selinux')
-rw-r--r-- | security/selinux/selinuxfs.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c index c8bf6e172f6e..93b3177c7585 100644 --- a/security/selinux/selinuxfs.c +++ b/security/selinux/selinuxfs.c | |||
@@ -161,7 +161,7 @@ out: | |||
161 | #define sel_write_enforce NULL | 161 | #define sel_write_enforce NULL |
162 | #endif | 162 | #endif |
163 | 163 | ||
164 | static struct file_operations sel_enforce_ops = { | 164 | static const struct file_operations sel_enforce_ops = { |
165 | .read = sel_read_enforce, | 165 | .read = sel_read_enforce, |
166 | .write = sel_write_enforce, | 166 | .write = sel_write_enforce, |
167 | }; | 167 | }; |
@@ -211,7 +211,7 @@ out: | |||
211 | #define sel_write_disable NULL | 211 | #define sel_write_disable NULL |
212 | #endif | 212 | #endif |
213 | 213 | ||
214 | static struct file_operations sel_disable_ops = { | 214 | static const struct file_operations sel_disable_ops = { |
215 | .write = sel_write_disable, | 215 | .write = sel_write_disable, |
216 | }; | 216 | }; |
217 | 217 | ||
@@ -225,7 +225,7 @@ static ssize_t sel_read_policyvers(struct file *filp, char __user *buf, | |||
225 | return simple_read_from_buffer(buf, count, ppos, tmpbuf, length); | 225 | return simple_read_from_buffer(buf, count, ppos, tmpbuf, length); |
226 | } | 226 | } |
227 | 227 | ||
228 | static struct file_operations sel_policyvers_ops = { | 228 | static const struct file_operations sel_policyvers_ops = { |
229 | .read = sel_read_policyvers, | 229 | .read = sel_read_policyvers, |
230 | }; | 230 | }; |
231 | 231 | ||
@@ -242,7 +242,7 @@ static ssize_t sel_read_mls(struct file *filp, char __user *buf, | |||
242 | return simple_read_from_buffer(buf, count, ppos, tmpbuf, length); | 242 | return simple_read_from_buffer(buf, count, ppos, tmpbuf, length); |
243 | } | 243 | } |
244 | 244 | ||
245 | static struct file_operations sel_mls_ops = { | 245 | static const struct file_operations sel_mls_ops = { |
246 | .read = sel_read_mls, | 246 | .read = sel_read_mls, |
247 | }; | 247 | }; |
248 | 248 | ||
@@ -294,7 +294,7 @@ out: | |||
294 | return length; | 294 | return length; |
295 | } | 295 | } |
296 | 296 | ||
297 | static struct file_operations sel_load_ops = { | 297 | static const struct file_operations sel_load_ops = { |
298 | .write = sel_write_load, | 298 | .write = sel_write_load, |
299 | }; | 299 | }; |
300 | 300 | ||
@@ -374,7 +374,7 @@ out: | |||
374 | free_page((unsigned long) page); | 374 | free_page((unsigned long) page); |
375 | return length; | 375 | return length; |
376 | } | 376 | } |
377 | static struct file_operations sel_checkreqprot_ops = { | 377 | static const struct file_operations sel_checkreqprot_ops = { |
378 | .read = sel_read_checkreqprot, | 378 | .read = sel_read_checkreqprot, |
379 | .write = sel_write_checkreqprot, | 379 | .write = sel_write_checkreqprot, |
380 | }; | 380 | }; |
@@ -423,7 +423,7 @@ out: | |||
423 | free_page((unsigned long) page); | 423 | free_page((unsigned long) page); |
424 | return length; | 424 | return length; |
425 | } | 425 | } |
426 | static struct file_operations sel_compat_net_ops = { | 426 | static const struct file_operations sel_compat_net_ops = { |
427 | .read = sel_read_compat_net, | 427 | .read = sel_read_compat_net, |
428 | .write = sel_write_compat_net, | 428 | .write = sel_write_compat_net, |
429 | }; | 429 | }; |
@@ -467,7 +467,7 @@ static ssize_t selinux_transaction_write(struct file *file, const char __user *b | |||
467 | return rv; | 467 | return rv; |
468 | } | 468 | } |
469 | 469 | ||
470 | static struct file_operations transaction_ops = { | 470 | static const struct file_operations transaction_ops = { |
471 | .write = selinux_transaction_write, | 471 | .write = selinux_transaction_write, |
472 | .read = simple_transaction_read, | 472 | .read = simple_transaction_read, |
473 | .release = simple_transaction_release, | 473 | .release = simple_transaction_release, |
@@ -875,7 +875,7 @@ out: | |||
875 | return length; | 875 | return length; |
876 | } | 876 | } |
877 | 877 | ||
878 | static struct file_operations sel_bool_ops = { | 878 | static const struct file_operations sel_bool_ops = { |
879 | .read = sel_read_bool, | 879 | .read = sel_read_bool, |
880 | .write = sel_write_bool, | 880 | .write = sel_write_bool, |
881 | }; | 881 | }; |
@@ -932,7 +932,7 @@ out: | |||
932 | return length; | 932 | return length; |
933 | } | 933 | } |
934 | 934 | ||
935 | static struct file_operations sel_commit_bools_ops = { | 935 | static const struct file_operations sel_commit_bools_ops = { |
936 | .write = sel_commit_bools_write, | 936 | .write = sel_commit_bools_write, |
937 | }; | 937 | }; |
938 | 938 | ||
@@ -1131,12 +1131,12 @@ out: | |||
1131 | return ret; | 1131 | return ret; |
1132 | } | 1132 | } |
1133 | 1133 | ||
1134 | static struct file_operations sel_avc_cache_threshold_ops = { | 1134 | static const struct file_operations sel_avc_cache_threshold_ops = { |
1135 | .read = sel_read_avc_cache_threshold, | 1135 | .read = sel_read_avc_cache_threshold, |
1136 | .write = sel_write_avc_cache_threshold, | 1136 | .write = sel_write_avc_cache_threshold, |
1137 | }; | 1137 | }; |
1138 | 1138 | ||
1139 | static struct file_operations sel_avc_hash_stats_ops = { | 1139 | static const struct file_operations sel_avc_hash_stats_ops = { |
1140 | .read = sel_read_avc_hash_stats, | 1140 | .read = sel_read_avc_hash_stats, |
1141 | }; | 1141 | }; |
1142 | 1142 | ||
@@ -1198,7 +1198,7 @@ static int sel_open_avc_cache_stats(struct inode *inode, struct file *file) | |||
1198 | return seq_open(file, &sel_avc_cache_stats_seq_ops); | 1198 | return seq_open(file, &sel_avc_cache_stats_seq_ops); |
1199 | } | 1199 | } |
1200 | 1200 | ||
1201 | static struct file_operations sel_avc_cache_stats_ops = { | 1201 | static const struct file_operations sel_avc_cache_stats_ops = { |
1202 | .open = sel_open_avc_cache_stats, | 1202 | .open = sel_open_avc_cache_stats, |
1203 | .read = seq_read, | 1203 | .read = seq_read, |
1204 | .llseek = seq_lseek, | 1204 | .llseek = seq_lseek, |