From: Arjan van de Ven Date: Mon, 12 Feb 2007 08:55:35 +0000 (-0800) Subject: [PATCH] mark struct file_operations const 7 X-Git-Tag: v2.6.21-rc1~274^2~10 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9a32144e9d7b4e21341174b1a83b82a82353be86;p=linux-2.6 [PATCH] mark struct file_operations const 7 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/ipc/mqueue.c b/ipc/mqueue.c index 02717f71d8..fafdef357e 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -85,7 +85,7 @@ struct mqueue_inode_info { }; static struct inode_operations mqueue_dir_inode_operations; -static struct file_operations mqueue_file_operations; +static const struct file_operations mqueue_file_operations; static struct super_operations mqueue_super_ops; static void remove_notification(struct mqueue_inode_info *info); @@ -1166,7 +1166,7 @@ static struct inode_operations mqueue_dir_inode_operations = { .unlink = mqueue_unlink, }; -static struct file_operations mqueue_file_operations = { +static const struct file_operations mqueue_file_operations = { .flush = mqueue_flush_file, .poll = mqueue_poll_file, .read = mqueue_read_file, diff --git a/ipc/shm.c b/ipc/shm.c index f8e10a25ad..5bb617f630 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -42,7 +42,7 @@ #include "util.h" -static struct file_operations shm_file_operations; +static const struct file_operations shm_file_operations; static struct vm_operations_struct shm_vm_ops; static struct ipc_ids init_shm_ids; @@ -249,7 +249,7 @@ static int shm_release(struct inode *ino, struct file *file) return 0; } -static struct file_operations shm_file_operations = { +static const struct file_operations shm_file_operations = { .mmap = shm_mmap, .release = shm_release, #ifndef CONFIG_MMU diff --git a/ipc/util.c b/ipc/util.c index 115e9aac13..08a647965b 100644 --- a/ipc/util.c +++ b/ipc/util.c @@ -205,7 +205,7 @@ void __ipc_init ipc_init_ids(struct ipc_ids* ids, int size) } #ifdef CONFIG_PROC_FS -static struct file_operations sysvipc_proc_fops; +static const struct file_operations sysvipc_proc_fops; /** * ipc_init_proc_interface - Create a proc interface for sysipc types using a seq_file interface. * @path: Path in procfs @@ -879,7 +879,7 @@ static int sysvipc_proc_release(struct inode *inode, struct file *file) return seq_release_private(inode, file); } -static struct file_operations sysvipc_proc_fops = { +static const struct file_operations sysvipc_proc_fops = { .open = sysvipc_proc_open, .read = seq_read, .llseek = seq_lseek, diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 6b05dc69c9..232aed2b10 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c @@ -2656,7 +2656,7 @@ static int cpuset_open(struct inode *inode, struct file *file) return single_open(file, proc_cpuset_show, pid); } -struct file_operations proc_cpuset_operations = { +const struct file_operations proc_cpuset_operations = { .open = cpuset_open, .read = seq_read, .llseek = seq_lseek, diff --git a/net/802/tr.c b/net/802/tr.c index 31509f6134..96bd14452c 100644 --- a/net/802/tr.c +++ b/net/802/tr.c @@ -576,7 +576,7 @@ static int rif_seq_open(struct inode *inode, struct file *file) return seq_open(file, &rif_seq_ops); } -static struct file_operations rif_seq_fops = { +static const struct file_operations rif_seq_fops = { .owner = THIS_MODULE, .open = rif_seq_open, .read = seq_read, diff --git a/net/8021q/vlanproc.c b/net/8021q/vlanproc.c index 1b72c9854d..5e24f72602 100644 --- a/net/8021q/vlanproc.c +++ b/net/8021q/vlanproc.c @@ -81,7 +81,7 @@ static int vlan_seq_open(struct inode *inode, struct file *file) return seq_open(file, &vlan_seq_ops); } -static struct file_operations vlan_fops = { +static const struct file_operations vlan_fops = { .owner = THIS_MODULE, .open = vlan_seq_open, .read = seq_read, @@ -98,7 +98,7 @@ static int vlandev_seq_open(struct inode *inode, struct file *file) return single_open(file, vlandev_seq_show, PDE(inode)->data); } -static struct file_operations vlandev_fops = { +static const struct file_operations vlandev_fops = { .owner = THIS_MODULE, .open = vlandev_seq_open, .read = seq_read, diff --git a/net/appletalk/aarp.c b/net/appletalk/aarp.c index 27e845d260..d89d62f370 100644 --- a/net/appletalk/aarp.c +++ b/net/appletalk/aarp.c @@ -1048,7 +1048,7 @@ out_kfree: goto out; } -struct file_operations atalk_seq_arp_fops = { +const struct file_operations atalk_seq_arp_fops = { .owner = THIS_MODULE, .open = aarp_seq_open, .read = seq_read, diff --git a/net/appletalk/atalk_proc.c b/net/appletalk/atalk_proc.c index bc3015f277..57ff8122b5 100644 --- a/net/appletalk/atalk_proc.c +++ b/net/appletalk/atalk_proc.c @@ -240,7 +240,7 @@ static int atalk_seq_socket_open(struct inode *inode, struct file *file) return seq_open(file, &atalk_seq_socket_ops); } -static struct file_operations atalk_seq_interface_fops = { +static const struct file_operations atalk_seq_interface_fops = { .owner = THIS_MODULE, .open = atalk_seq_interface_open, .read = seq_read, @@ -248,7 +248,7 @@ static struct file_operations atalk_seq_interface_fops = { .release = seq_release, }; -static struct file_operations atalk_seq_route_fops = { +static const struct file_operations atalk_seq_route_fops = { .owner = THIS_MODULE, .open = atalk_seq_route_open, .read = seq_read, @@ -256,7 +256,7 @@ static struct file_operations atalk_seq_route_fops = { .release = seq_release, }; -static struct file_operations atalk_seq_socket_fops = { +static const struct file_operations atalk_seq_socket_fops = { .owner = THIS_MODULE, .open = atalk_seq_socket_open, .read = seq_read, diff --git a/net/atm/br2684.c b/net/atm/br2684.c index f949b5c74e..ec4ebd3299 100644 --- a/net/atm/br2684.c +++ b/net/atm/br2684.c @@ -784,7 +784,7 @@ static int br2684_proc_open(struct inode *inode, struct file *file) return seq_open(file, &br2684_seq_ops); } -static struct file_operations br2684_proc_ops = { +static const struct file_operations br2684_proc_ops = { .owner = THIS_MODULE, .open = br2684_proc_open, .read = seq_read, diff --git a/net/atm/clip.c b/net/atm/clip.c index 5f8a1d2227..ebb5d0ce8b 100644 --- a/net/atm/clip.c +++ b/net/atm/clip.c @@ -971,7 +971,7 @@ out_kfree: goto out; } -static struct file_operations arp_seq_fops = { +static const struct file_operations arp_seq_fops = { .open = arp_seq_open, .read = seq_read, .llseek = seq_lseek, diff --git a/net/atm/lec.c b/net/atm/lec.c index 57dc2ab1b6..9869455276 100644 --- a/net/atm/lec.c +++ b/net/atm/lec.c @@ -1212,7 +1212,7 @@ static int lec_seq_release(struct inode *inode, struct file *file) return seq_release_private(inode, file); } -static struct file_operations lec_seq_fops = { +static const struct file_operations lec_seq_fops = { .owner = THIS_MODULE, .open = lec_seq_open, .read = seq_read, diff --git a/net/atm/mpoa_proc.c b/net/atm/mpoa_proc.c index 43315af103..4b05cbec7a 100644 --- a/net/atm/mpoa_proc.c +++ b/net/atm/mpoa_proc.c @@ -39,7 +39,7 @@ static int parse_qos(const char *buff); /* * Define allowed FILE OPERATIONS */ -static struct file_operations mpc_file_operations = { +static const struct file_operations mpc_file_operations = { .owner = THIS_MODULE, .open = proc_mpc_open, .read = seq_read, diff --git a/net/atm/proc.c b/net/atm/proc.c index 190f49ce2c..9e61e512f6 100644 --- a/net/atm/proc.c +++ b/net/atm/proc.c @@ -33,7 +33,7 @@ static ssize_t proc_dev_atm_read(struct file *file,char __user *buf,size_t count, loff_t *pos); -static struct file_operations proc_atm_dev_ops = { +static const struct file_operations proc_atm_dev_ops = { .owner = THIS_MODULE, .read = proc_dev_atm_read, }; @@ -272,7 +272,7 @@ static int atm_dev_seq_open(struct inode *inode, struct file *file) return seq_open(file, &atm_dev_seq_ops); } -static struct file_operations devices_seq_fops = { +static const struct file_operations devices_seq_fops = { .open = atm_dev_seq_open, .read = seq_read, .llseek = seq_lseek, @@ -307,7 +307,7 @@ static int pvc_seq_open(struct inode *inode, struct file *file) return __vcc_seq_open(inode, file, PF_ATMPVC, &pvc_seq_ops); } -static struct file_operations pvc_seq_fops = { +static const struct file_operations pvc_seq_fops = { .open = pvc_seq_open, .read = seq_read, .llseek = seq_lseek, @@ -341,7 +341,7 @@ static int vcc_seq_open(struct inode *inode, struct file *file) return __vcc_seq_open(inode, file, 0, &vcc_seq_ops); } -static struct file_operations vcc_seq_fops = { +static const struct file_operations vcc_seq_fops = { .open = vcc_seq_open, .read = seq_read, .llseek = seq_lseek, @@ -376,7 +376,7 @@ static int svc_seq_open(struct inode *inode, struct file *file) return __vcc_seq_open(inode, file, PF_ATMSVC, &svc_seq_ops); } -static struct file_operations svc_seq_fops = { +static const struct file_operations svc_seq_fops = { .open = svc_seq_open, .read = seq_read, .llseek = seq_lseek, @@ -457,7 +457,7 @@ void atm_proc_dev_deregister(struct atm_dev *dev) static struct atm_proc_entry { char *name; - struct file_operations *proc_fops; + const struct file_operations *proc_fops; struct proc_dir_entry *dirent; } atm_proc_ents[] = { { .name = "devices", .proc_fops = &devices_seq_fops }, diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c index 9a0b677d1e..1c07c6a50e 100644 --- a/net/ax25/af_ax25.c +++ b/net/ax25/af_ax25.c @@ -1938,7 +1938,7 @@ static int ax25_info_open(struct inode *inode, struct file *file) return seq_open(file, &ax25_info_seqops); } -static struct file_operations ax25_info_fops = { +static const struct file_operations ax25_info_fops = { .owner = THIS_MODULE, .open = ax25_info_open, .read = seq_read, diff --git a/net/ax25/ax25_route.c b/net/ax25/ax25_route.c index 7078861a73..d65b8e2286 100644 --- a/net/ax25/ax25_route.c +++ b/net/ax25/ax25_route.c @@ -332,7 +332,7 @@ static int ax25_rt_info_open(struct inode *inode, struct file *file) return seq_open(file, &ax25_rt_seqops); } -struct file_operations ax25_route_fops = { +const struct file_operations ax25_route_fops = { .owner = THIS_MODULE, .open = ax25_rt_info_open, .read = seq_read, diff --git a/net/ax25/ax25_uid.c b/net/ax25/ax25_uid.c index 7f4c294b36..59a41b1e61 100644 --- a/net/ax25/ax25_uid.c +++ b/net/ax25/ax25_uid.c @@ -198,7 +198,7 @@ static int ax25_uid_info_open(struct inode *inode, struct file *file) return seq_open(file, &ax25_uid_seqops); } -struct file_operations ax25_uid_fops = { +const struct file_operations ax25_uid_fops = { .owner = THIS_MODULE, .open = ax25_uid_info_open, .read = seq_read, diff --git a/net/core/dev.c b/net/core/dev.c index 85d58d7993..cf71614dae 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2200,7 +2200,7 @@ static int dev_seq_open(struct inode *inode, struct file *file) return seq_open(file, &dev_seq_ops); } -static struct file_operations dev_seq_fops = { +static const struct file_operations dev_seq_fops = { .owner = THIS_MODULE, .open = dev_seq_open, .read = seq_read, @@ -2220,7 +2220,7 @@ static int softnet_seq_open(struct inode *inode, struct file *file) return seq_open(file, &softnet_seq_ops); } -static struct file_operations softnet_seq_fops = { +static const struct file_operations softnet_seq_fops = { .owner = THIS_MODULE, .open = softnet_seq_open, .read = seq_read, diff --git a/net/core/dev_mcast.c b/net/core/dev_mcast.c index bfcbdf73a2..c4e754e86e 100644 --- a/net/core/dev_mcast.c +++ b/net/core/dev_mcast.c @@ -277,7 +277,7 @@ static int dev_mc_seq_open(struct inode *inode, struct file *file) return seq_open(file, &dev_mc_seq_ops); } -static struct file_operations dev_mc_seq_fops = { +static const struct file_operations dev_mc_seq_fops = { .owner = THIS_MODULE, .open = dev_mc_seq_open, .read = seq_read, diff --git a/net/core/neighbour.c b/net/core/neighbour.c index c08d696505..512eed9178 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c @@ -63,7 +63,7 @@ void neigh_changeaddr(struct neigh_table *tbl, struct net_device *dev); static struct neigh_table *neigh_tables; #ifdef CONFIG_PROC_FS -static struct file_operations neigh_stat_seq_fops; +static const struct file_operations neigh_stat_seq_fops; #endif /* @@ -2403,7 +2403,7 @@ static int neigh_stat_seq_open(struct inode *inode, struct file *file) return ret; }; -static struct file_operations neigh_stat_seq_fops = { +static const struct file_operations neigh_stat_seq_fops = { .owner = THIS_MODULE, .open = neigh_stat_seq_open, .read = seq_read, diff --git a/net/core/pktgen.c b/net/core/pktgen.c index c2818e07a4..74a9a32b90 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -579,7 +579,7 @@ static int pgctrl_open(struct inode *inode, struct file *file) return single_open(file, pgctrl_show, PDE(inode)->data); } -static struct file_operations pktgen_fops = { +static const struct file_operations pktgen_fops = { .owner = THIS_MODULE, .open = pgctrl_open, .read = seq_read, @@ -1672,7 +1672,7 @@ static int pktgen_if_open(struct inode *inode, struct file *file) return single_open(file, pktgen_if_show, PDE(inode)->data); } -static struct file_operations pktgen_if_fops = { +static const struct file_operations pktgen_if_fops = { .owner = THIS_MODULE, .open = pktgen_if_open, .read = seq_read, @@ -1815,7 +1815,7 @@ static int pktgen_thread_open(struct inode *inode, struct file *file) return single_open(file, pktgen_thread_show, PDE(inode)->data); } -static struct file_operations pktgen_thread_fops = { +static const struct file_operations pktgen_thread_fops = { .owner = THIS_MODULE, .open = pktgen_thread_open, .read = seq_read, diff --git a/net/core/sock.c b/net/core/sock.c index 1e35d9973f..e9986acdd0 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -1911,7 +1911,7 @@ static int proto_seq_open(struct inode *inode, struct file *file) return seq_open(file, &proto_seq_ops); } -static struct file_operations proto_seq_fops = { +static const struct file_operations proto_seq_fops = { .owner = THIS_MODULE, .open = proto_seq_open, .read = seq_read, diff --git a/net/core/wireless.c b/net/core/wireless.c index 64017d47b2..9936ab11e6 100644 --- a/net/core/wireless.c +++ b/net/core/wireless.c @@ -674,7 +674,7 @@ static int wireless_seq_open(struct inode *inode, struct file *file) return seq_open(file, &wireless_seq_ops); } -static struct file_operations wireless_seq_fops = { +static const struct file_operations wireless_seq_fops = { .owner = THIS_MODULE, .open = wireless_seq_open, .read = seq_read, diff --git a/net/dccp/probe.c b/net/dccp/probe.c index f81e37de35..3b1f509f51 100644 --- a/net/dccp/probe.c +++ b/net/dccp/probe.c @@ -149,7 +149,7 @@ out_free: return error ? error : cnt; } -static struct file_operations dccpprobe_fops = { +static const struct file_operations dccpprobe_fops = { .owner = THIS_MODULE, .open = dccpprobe_open, .read = dccpprobe_read, diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c index 70061641ee..c6568d637e 100644 --- a/net/decnet/af_decnet.c +++ b/net/decnet/af_decnet.c @@ -2331,7 +2331,7 @@ out_kfree: goto out; } -static struct file_operations dn_socket_seq_fops = { +static const struct file_operations dn_socket_seq_fops = { .owner = THIS_MODULE, .open = dn_socket_seq_open, .read = seq_read, diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c index c5e28114be..2b2c7fe45a 100644 --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c @@ -1442,7 +1442,7 @@ static int dn_dev_seq_open(struct inode *inode, struct file *file) return seq_open(file, &dn_dev_seq_ops); } -static struct file_operations dn_dev_seq_fops = { +static const struct file_operations dn_dev_seq_fops = { .owner = THIS_MODULE, .open = dn_dev_seq_open, .read = seq_read, diff --git a/net/decnet/dn_neigh.c b/net/decnet/dn_neigh.c index 11d692dfb4..bf701cf5a3 100644 --- a/net/decnet/dn_neigh.c +++ b/net/decnet/dn_neigh.c @@ -598,7 +598,7 @@ out_kfree: goto out; } -static struct file_operations dn_neigh_seq_fops = { +static const struct file_operations dn_neigh_seq_fops = { .owner = THIS_MODULE, .open = dn_neigh_seq_open, .read = seq_read, diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c index efccc42ff1..c1b5502f19 100644 --- a/net/decnet/dn_route.c +++ b/net/decnet/dn_route.c @@ -1751,7 +1751,7 @@ out_kfree: goto out; } -static struct file_operations dn_rt_cache_seq_fops = { +static const struct file_operations dn_rt_cache_seq_fops = { .owner = THIS_MODULE, .open = dn_rt_cache_seq_open, .read = seq_read, diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index a58afde4f7..0ffd2d2920 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c @@ -1390,7 +1390,7 @@ out_kfree: goto out; } -static struct file_operations arp_seq_fops = { +static const struct file_operations arp_seq_fops = { .owner = THIS_MODULE, .open = arp_seq_open, .read = seq_read, diff --git a/net/ipv4/fib_hash.c b/net/ipv4/fib_hash.c index dea04d725b..b21bb28d1f 100644 --- a/net/ipv4/fib_hash.c +++ b/net/ipv4/fib_hash.c @@ -1057,7 +1057,7 @@ out_kfree: goto out; } -static struct file_operations fib_seq_fops = { +static const struct file_operations fib_seq_fops = { .owner = THIS_MODULE, .open = fib_seq_open, .read = seq_read, diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index 004a437bd7..c33dca0738 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c @@ -2173,7 +2173,7 @@ static int fib_triestat_seq_open(struct inode *inode, struct file *file) return single_open(file, fib_triestat_seq_show, NULL); } -static struct file_operations fib_triestat_fops = { +static const struct file_operations fib_triestat_fops = { .owner = THIS_MODULE, .open = fib_triestat_seq_open, .read = seq_read, @@ -2364,7 +2364,7 @@ out_kfree: goto out; } -static struct file_operations fib_trie_fops = { +static const struct file_operations fib_trie_fops = { .owner = THIS_MODULE, .open = fib_trie_seq_open, .read = seq_read, @@ -2485,7 +2485,7 @@ out_kfree: goto out; } -static struct file_operations fib_route_fops = { +static const struct file_operations fib_route_fops = { .owner = THIS_MODULE, .open = fib_route_seq_open, .read = seq_read, diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index b8e1625d34..063721302e 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -2403,7 +2403,7 @@ out_kfree: goto out; } -static struct file_operations igmp_mc_seq_fops = { +static const struct file_operations igmp_mc_seq_fops = { .owner = THIS_MODULE, .open = igmp_mc_seq_open, .read = seq_read, @@ -2577,7 +2577,7 @@ out_kfree: goto out; } -static struct file_operations igmp_mcf_seq_fops = { +static const struct file_operations igmp_mcf_seq_fops = { .owner = THIS_MODULE, .open = igmp_mcf_seq_open, .read = seq_read, diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c index ba882bec31..cf49de1a49 100644 --- a/net/ipv4/ipconfig.c +++ b/net/ipv4/ipconfig.c @@ -1200,7 +1200,7 @@ static int pnp_seq_open(struct inode *indoe, struct file *file) return single_open(file, pnp_seq_show, NULL); } -static struct file_operations pnp_seq_fops = { +static const struct file_operations pnp_seq_fops = { .owner = THIS_MODULE, .open = pnp_seq_open, .read = seq_read, diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c index 604f5b5851..e6d11abd78 100644 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c @@ -1712,7 +1712,7 @@ out_kfree: } -static struct file_operations ipmr_vif_fops = { +static const struct file_operations ipmr_vif_fops = { .owner = THIS_MODULE, .open = ipmr_vif_open, .read = seq_read, @@ -1874,7 +1874,7 @@ out_kfree: } -static struct file_operations ipmr_mfc_fops = { +static const struct file_operations ipmr_mfc_fops = { .owner = THIS_MODULE, .open = ipmr_mfc_open, .read = seq_read, diff --git a/net/ipv4/ipvs/ip_vs_app.c b/net/ipv4/ipvs/ip_vs_app.c index 6c40899aa1..22e104c6a4 100644 --- a/net/ipv4/ipvs/ip_vs_app.c +++ b/net/ipv4/ipvs/ip_vs_app.c @@ -561,7 +561,7 @@ static int ip_vs_app_open(struct inode *inode, struct file *file) return seq_open(file, &ip_vs_app_seq_ops); } -static struct file_operations ip_vs_app_fops = { +static const struct file_operations ip_vs_app_fops = { .owner = THIS_MODULE, .open = ip_vs_app_open, .read = seq_read, diff --git a/net/ipv4/ipvs/ip_vs_conn.c b/net/ipv4/ipvs/ip_vs_conn.c index 0b5e03476c..7018f97c75 100644 --- a/net/ipv4/ipvs/ip_vs_conn.c +++ b/net/ipv4/ipvs/ip_vs_conn.c @@ -757,7 +757,7 @@ static int ip_vs_conn_open(struct inode *inode, struct file *file) return seq_open(file, &ip_vs_conn_seq_ops); } -static struct file_operations ip_vs_conn_fops = { +static const struct file_operations ip_vs_conn_fops = { .owner = THIS_MODULE, .open = ip_vs_conn_open, .read = seq_read, diff --git a/net/ipv4/ipvs/ip_vs_ctl.c b/net/ipv4/ipvs/ip_vs_ctl.c index 9b933381eb..8b08d9cdcb 100644 --- a/net/ipv4/ipvs/ip_vs_ctl.c +++ b/net/ipv4/ipvs/ip_vs_ctl.c @@ -1812,7 +1812,7 @@ out_kfree: goto out; } -static struct file_operations ip_vs_info_fops = { +static const struct file_operations ip_vs_info_fops = { .owner = THIS_MODULE, .open = ip_vs_info_open, .read = seq_read, @@ -1859,7 +1859,7 @@ static int ip_vs_stats_seq_open(struct inode *inode, struct file *file) return single_open(file, ip_vs_stats_show, NULL); } -static struct file_operations ip_vs_stats_fops = { +static const struct file_operations ip_vs_stats_fops = { .owner = THIS_MODULE, .open = ip_vs_stats_seq_open, .read = seq_read, diff --git a/net/ipv4/netfilter/ip_conntrack_standalone.c b/net/ipv4/netfilter/ip_conntrack_standalone.c index 5903588fdd..300ccbbbda 100644 --- a/net/ipv4/netfilter/ip_conntrack_standalone.c +++ b/net/ipv4/netfilter/ip_conntrack_standalone.c @@ -222,7 +222,7 @@ out_free: return ret; } -static struct file_operations ct_file_ops = { +static const struct file_operations ct_file_ops = { .owner = THIS_MODULE, .open = ct_open, .read = seq_read, @@ -298,7 +298,7 @@ static int exp_open(struct inode *inode, struct file *file) return seq_open(file, &exp_seq_ops); } -static struct file_operations exp_file_ops = { +static const struct file_operations exp_file_ops = { .owner = THIS_MODULE, .open = exp_open, .read = seq_read, @@ -386,7 +386,7 @@ static int ct_cpu_seq_open(struct inode *inode, struct file *file) return seq_open(file, &ct_cpu_seq_ops); } -static struct file_operations ct_cpu_seq_fops = { +static const struct file_operations ct_cpu_seq_fops = { .owner = THIS_MODULE, .open = ct_cpu_seq_open, .read = seq_read, diff --git a/net/ipv4/netfilter/ipt_CLUSTERIP.c b/net/ipv4/netfilter/ipt_CLUSTERIP.c index 4fe28f2644..e965b333c9 100644 --- a/net/ipv4/netfilter/ipt_CLUSTERIP.c +++ b/net/ipv4/netfilter/ipt_CLUSTERIP.c @@ -70,7 +70,7 @@ static LIST_HEAD(clusterip_configs); static DEFINE_RWLOCK(clusterip_lock); #ifdef CONFIG_PROC_FS -static struct file_operations clusterip_proc_fops; +static const struct file_operations clusterip_proc_fops; static struct proc_dir_entry *clusterip_procdir; #endif @@ -715,7 +715,7 @@ static ssize_t clusterip_proc_write(struct file *file, const char __user *input, return size; } -static struct file_operations clusterip_proc_fops = { +static const struct file_operations clusterip_proc_fops = { .owner = THIS_MODULE, .open = clusterip_proc_open, .read = seq_read, diff --git a/net/ipv4/netfilter/ipt_recent.c b/net/ipv4/netfilter/ipt_recent.c index 6b97b67961..aecb9c48e1 100644 --- a/net/ipv4/netfilter/ipt_recent.c +++ b/net/ipv4/netfilter/ipt_recent.c @@ -79,7 +79,7 @@ static DEFINE_MUTEX(recent_mutex); #ifdef CONFIG_PROC_FS static struct proc_dir_entry *proc_dir; -static struct file_operations recent_fops; +static const struct file_operations recent_fops; #endif static u_int32_t hash_rnd; @@ -454,7 +454,7 @@ static ssize_t recent_proc_write(struct file *file, const char __user *input, return size; } -static struct file_operations recent_fops = { +static const struct file_operations recent_fops = { .open = recent_seq_open, .read = seq_read, .write = recent_proc_write, diff --git a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c index 14a93a7384..89f933e810 100644 --- a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c +++ b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c @@ -197,7 +197,7 @@ out_free: return ret; } -static struct file_operations ct_file_ops = { +static const struct file_operations ct_file_ops = { .owner = THIS_MODULE, .open = ct_open, .read = seq_read, @@ -278,7 +278,7 @@ static int exp_open(struct inode *inode, struct file *file) return seq_open(file, &exp_seq_ops); } -static struct file_operations ip_exp_file_ops = { +static const struct file_operations ip_exp_file_ops = { .owner = THIS_MODULE, .open = exp_open, .read = seq_read, @@ -366,7 +366,7 @@ static int ct_cpu_seq_open(struct inode *inode, struct file *file) return seq_open(file, &ct_cpu_seq_ops); } -static struct file_operations ct_cpu_seq_fops = { +static const struct file_operations ct_cpu_seq_fops = { .owner = THIS_MODULE, .open = ct_cpu_seq_open, .read = seq_read, diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c index ccb199e9dd..ae68a691e8 100644 --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c @@ -79,7 +79,7 @@ static int sockstat_seq_open(struct inode *inode, struct file *file) return single_open(file, sockstat_seq_show, NULL); } -static struct file_operations sockstat_seq_fops = { +static const struct file_operations sockstat_seq_fops = { .owner = THIS_MODULE, .open = sockstat_seq_open, .read = seq_read, @@ -326,7 +326,7 @@ static int snmp_seq_open(struct inode *inode, struct file *file) return single_open(file, snmp_seq_show, NULL); } -static struct file_operations snmp_seq_fops = { +static const struct file_operations snmp_seq_fops = { .owner = THIS_MODULE, .open = snmp_seq_open, .read = seq_read, @@ -360,7 +360,7 @@ static int netstat_seq_open(struct inode *inode, struct file *file) return single_open(file, netstat_seq_show, NULL); } -static struct file_operations netstat_seq_fops = { +static const struct file_operations netstat_seq_fops = { .owner = THIS_MODULE, .open = netstat_seq_open, .read = seq_read, diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index 931084bfb5..87e9c16181 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c @@ -916,7 +916,7 @@ out_kfree: goto out; } -static struct file_operations raw_seq_fops = { +static const struct file_operations raw_seq_fops = { .owner = THIS_MODULE, .open = raw_seq_open, .read = seq_read, diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 5b3834b38a..9b5e56481d 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -393,7 +393,7 @@ out_kfree: goto out; } -static struct file_operations rt_cache_seq_fops = { +static const struct file_operations rt_cache_seq_fops = { .owner = THIS_MODULE, .open = rt_cache_seq_open, .read = seq_read, @@ -484,7 +484,7 @@ static int rt_cpu_seq_open(struct inode *inode, struct file *file) return seq_open(file, &rt_cpu_seq_ops); } -static struct file_operations rt_cpu_seq_fops = { +static const struct file_operations rt_cpu_seq_fops = { .owner = THIS_MODULE, .open = rt_cpu_seq_open, .read = seq_read, diff --git a/net/ipv4/tcp_probe.c b/net/ipv4/tcp_probe.c index 41c1578481..61f406f272 100644 --- a/net/ipv4/tcp_probe.c +++ b/net/ipv4/tcp_probe.c @@ -143,7 +143,7 @@ out_free: return error ? error : cnt; } -static struct file_operations tcpprobe_fops = { +static const struct file_operations tcpprobe_fops = { .owner = THIS_MODULE, .open = tcpprobe_open, .read = tcpprobe_read, diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 77e56f2b1a..ea0755b090 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2776,7 +2776,7 @@ out_kfree: goto out; } -static struct file_operations if6_fops = { +static const struct file_operations if6_fops = { .owner = THIS_MODULE, .open = if6_seq_open, .read = seq_read, diff --git a/net/ipv6/anycast.c b/net/ipv6/anycast.c index e2dc1c41bb..6fb2e9d716 100644 --- a/net/ipv6/anycast.c +++ b/net/ipv6/anycast.c @@ -565,7 +565,7 @@ out_kfree: goto out; } -static struct file_operations ac6_seq_fops = { +static const struct file_operations ac6_seq_fops = { .owner = THIS_MODULE, .open = ac6_seq_open, .read = seq_read, diff --git a/net/ipv6/ip6_flowlabel.c b/net/ipv6/ip6_flowlabel.c index 1551ab3890..c206a152ed 100644 --- a/net/ipv6/ip6_flowlabel.c +++ b/net/ipv6/ip6_flowlabel.c @@ -677,7 +677,7 @@ out_kfree: goto out; } -static struct file_operations ip6fl_seq_fops = { +static const struct file_operations ip6fl_seq_fops = { .owner = THIS_MODULE, .open = ip6fl_seq_open, .read = seq_read, diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index c9db5bc5b0..a8d6625ec7 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c @@ -2451,7 +2451,7 @@ out_kfree: goto out; } -static struct file_operations igmp6_mc_seq_fops = { +static const struct file_operations igmp6_mc_seq_fops = { .owner = THIS_MODULE, .open = igmp6_mc_seq_open, .read = seq_read, @@ -2625,7 +2625,7 @@ out_kfree: goto out; } -static struct file_operations igmp6_mcf_seq_fops = { +static const struct file_operations igmp6_mcf_seq_fops = { .owner = THIS_MODULE, .open = igmp6_mcf_seq_open, .read = seq_read, diff --git a/net/ipv6/proc.c b/net/ipv6/proc.c index 032ef95c5b..c82257dd04 100644 --- a/net/ipv6/proc.c +++ b/net/ipv6/proc.c @@ -187,7 +187,7 @@ static int sockstat6_seq_open(struct inode *inode, struct file *file) return single_open(file, sockstat6_seq_show, NULL); } -static struct file_operations sockstat6_seq_fops = { +static const struct file_operations sockstat6_seq_fops = { .owner = THIS_MODULE, .open = sockstat6_seq_open, .read = seq_read, @@ -200,7 +200,7 @@ static int snmp6_seq_open(struct inode *inode, struct file *file) return single_open(file, snmp6_seq_show, PDE(inode)->data); } -static struct file_operations snmp6_seq_fops = { +static const struct file_operations snmp6_seq_fops = { .owner = THIS_MODULE, .open = snmp6_seq_open, .read = seq_read, diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index 16d4c63ff5..1f8f6275a7 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c @@ -1273,7 +1273,7 @@ out_kfree: goto out; } -static struct file_operations raw6_seq_fops = { +static const struct file_operations raw6_seq_fops = { .owner = THIS_MODULE, .open = raw6_seq_open, .read = seq_read, diff --git a/net/ipv6/route.c b/net/ipv6/route.c index a415ac610e..0e1f4b2cd3 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -2345,7 +2345,7 @@ static int rt6_stats_seq_open(struct inode *inode, struct file *file) return single_open(file, rt6_stats_seq_show, NULL); } -static struct file_operations rt6_stats_seq_fops = { +static const struct file_operations rt6_stats_seq_fops = { .owner = THIS_MODULE, .open = rt6_stats_seq_open, .read = seq_read, diff --git a/net/ipx/ipx_proc.c b/net/ipx/ipx_proc.c index 811e4badce..db32ac8e79 100644 --- a/net/ipx/ipx_proc.c +++ b/net/ipx/ipx_proc.c @@ -322,7 +322,7 @@ static int ipx_seq_socket_open(struct inode *inode, struct file *file) return seq_open(file, &ipx_seq_socket_ops); } -static struct file_operations ipx_seq_interface_fops = { +static const struct file_operations ipx_seq_interface_fops = { .owner = THIS_MODULE, .open = ipx_seq_interface_open, .read = seq_read, @@ -330,7 +330,7 @@ static struct file_operations ipx_seq_interface_fops = { .release = seq_release, }; -static struct file_operations ipx_seq_route_fops = { +static const struct file_operations ipx_seq_route_fops = { .owner = THIS_MODULE, .open = ipx_seq_route_open, .read = seq_read, @@ -338,7 +338,7 @@ static struct file_operations ipx_seq_route_fops = { .release = seq_release, }; -static struct file_operations ipx_seq_socket_fops = { +static const struct file_operations ipx_seq_socket_fops = { .owner = THIS_MODULE, .open = ipx_seq_socket_open, .read = seq_read, diff --git a/net/irda/discovery.c b/net/irda/discovery.c index 789478bc30..f097341286 100644 --- a/net/irda/discovery.c +++ b/net/irda/discovery.c @@ -409,7 +409,7 @@ static int discovery_seq_open(struct inode *inode, struct file *file) return seq_open(file, &discovery_seq_ops); } -struct file_operations discovery_seq_fops = { +const struct file_operations discovery_seq_fops = { .owner = THIS_MODULE, .open = discovery_seq_open, .read = seq_read,