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://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9a32144e9d7b4e21341174b1a83b82a82353be86;p=pandora-kernel.git [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 02717f71d8d0..fafdef357e92 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 f8e10a25ad7d..5bb617f6306e 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 115e9aac1366..08a647965b9e 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 6b05dc69c959..232aed2b10f9 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 31509f613401..96bd14452c55 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 1b72c9854d6f..5e24f72602a1 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 27e845d260a9..d89d62f3702f 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 bc3015f277ba..57ff8122b5c5 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 f949b5c74ec1..ec4ebd3299e3 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 5f8a1d222720..ebb5d0ce8b6f 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 57dc2ab1b65d..986945527691 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 43315af10309..4b05cbec7a58 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 190f49ce2cad..9e61e512f667 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 9a0b677d1e7f..1c07c6a50eb8 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 7078861a7385..d65b8e22868d 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 7f4c294b36f1..59a41b1e61f5 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 85d58d799329..cf71614dae93 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 bfcbdf73a293..c4e754e86e96 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 c08d69650566..512eed91785d 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 c2818e07a4bd..74a9a32b906d 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 1e35d9973f57..e9986acdd0ab 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 64017d47b25b..9936ab11e6e0 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, Reading git-diff-tree failed