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>
53 files changed:
};
static struct inode_operations mqueue_dir_inode_operations;
};
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);
static struct super_operations mqueue_super_ops;
static void remove_notification(struct mqueue_inode_info *info);
.unlink = mqueue_unlink,
};
.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,
.flush = mqueue_flush_file,
.poll = mqueue_poll_file,
.read = mqueue_read_file,
-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;
static struct vm_operations_struct shm_vm_ops;
static struct ipc_ids init_shm_ids;
-static struct file_operations shm_file_operations = {
+static const struct file_operations shm_file_operations = {
.mmap = shm_mmap,
.release = shm_release,
#ifndef CONFIG_MMU
.mmap = shm_mmap,
.release = shm_release,
#ifndef CONFIG_MMU
-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
/**
* ipc_init_proc_interface - Create a proc interface for sysipc types using a seq_file interface.
* @path: Path in procfs
return seq_release_private(inode, 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,
.open = sysvipc_proc_open,
.read = seq_read,
.llseek = seq_lseek,
return single_open(file, proc_cpuset_show, pid);
}
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,
.open = cpuset_open,
.read = seq_read,
.llseek = seq_lseek,
return seq_open(file, &rif_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = rif_seq_open,
.read = seq_read,
return seq_open(file, &vlan_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = vlan_seq_open,
.read = seq_read,
return single_open(file, vlandev_seq_show, PDE(inode)->data);
}
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,
.owner = THIS_MODULE,
.open = vlandev_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = aarp_seq_open,
.read = seq_read,
return seq_open(file, &atalk_seq_socket_ops);
}
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,
.owner = THIS_MODULE,
.open = atalk_seq_interface_open,
.read = seq_read,
.release = seq_release,
};
.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,
.owner = THIS_MODULE,
.open = atalk_seq_route_open,
.read = seq_read,
.release = seq_release,
};
.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,
.owner = THIS_MODULE,
.open = atalk_seq_socket_open,
.read = seq_read,
return seq_open(file, &br2684_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = br2684_proc_open,
.read = seq_read,
-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,
.open = arp_seq_open,
.read = seq_read,
.llseek = seq_lseek,
return seq_release_private(inode, 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,
.owner = THIS_MODULE,
.open = lec_seq_open,
.read = seq_read,
/*
* Define allowed FILE OPERATIONS
*/
/*
* 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,
.owner = THIS_MODULE,
.open = proc_mpc_open,
.read = seq_read,
static ssize_t proc_dev_atm_read(struct file *file,char __user *buf,size_t count,
loff_t *pos);
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,
};
.owner = THIS_MODULE,
.read = proc_dev_atm_read,
};
return seq_open(file, &atm_dev_seq_ops);
}
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,
.open = atm_dev_seq_open,
.read = seq_read,
.llseek = seq_lseek,
return __vcc_seq_open(inode, file, PF_ATMPVC, &pvc_seq_ops);
}
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,
.open = pvc_seq_open,
.read = seq_read,
.llseek = seq_lseek,
return __vcc_seq_open(inode, file, 0, &vcc_seq_ops);
}
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,
.open = vcc_seq_open,
.read = seq_read,
.llseek = seq_lseek,
return __vcc_seq_open(inode, file, PF_ATMSVC, &svc_seq_ops);
}
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,
.open = svc_seq_open,
.read = seq_read,
.llseek = seq_lseek,
static struct atm_proc_entry {
char *name;
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 },
struct proc_dir_entry *dirent;
} atm_proc_ents[] = {
{ .name = "devices", .proc_fops = &devices_seq_fops },
return seq_open(file, &ax25_info_seqops);
}
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,
.owner = THIS_MODULE,
.open = ax25_info_open,
.read = seq_read,
return seq_open(file, &ax25_rt_seqops);
}
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,
.owner = THIS_MODULE,
.open = ax25_rt_info_open,
.read = seq_read,
return seq_open(file, &ax25_uid_seqops);
}
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,
.owner = THIS_MODULE,
.open = ax25_uid_info_open,
.read = seq_read,
return seq_open(file, &dev_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = dev_seq_open,
.read = seq_read,
return seq_open(file, &softnet_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = softnet_seq_open,
.read = seq_read,
return seq_open(file, &dev_mc_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = dev_mc_seq_open,
.read = seq_read,
static struct neigh_table *neigh_tables;
#ifdef CONFIG_PROC_FS
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;
-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,
.owner = THIS_MODULE,
.open = neigh_stat_seq_open,
.read = seq_read,
return single_open(file, pgctrl_show, PDE(inode)->data);
}
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,
.owner = THIS_MODULE,
.open = pgctrl_open,
.read = seq_read,
return single_open(file, pktgen_if_show, PDE(inode)->data);
}
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,
.owner = THIS_MODULE,
.open = pktgen_if_open,
.read = seq_read,
return single_open(file, pktgen_thread_show, PDE(inode)->data);
}
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,
.owner = THIS_MODULE,
.open = pktgen_thread_open,
.read = seq_read,
return seq_open(file, &proto_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = proto_seq_open,
.read = seq_read,
return seq_open(file, &wireless_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = wireless_seq_open,
.read = seq_read,
return error ? error : cnt;
}
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,
.owner = THIS_MODULE,
.open = dccpprobe_open,
.read = dccpprobe_read,
-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,
.owner = THIS_MODULE,
.open = dn_socket_seq_open,
.read = seq_read,
return seq_open(file, &dn_dev_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = dn_dev_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = dn_neigh_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = dn_rt_cache_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = arp_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = fib_seq_open,
.read = seq_read,
return single_open(file, fib_triestat_seq_show, NULL);
}
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,
.owner = THIS_MODULE,
.open = fib_triestat_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = fib_trie_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = fib_route_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = igmp_mc_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = igmp_mcf_seq_open,
.read = seq_read,
return single_open(file, pnp_seq_show, NULL);
}
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,
.owner = THIS_MODULE,
.open = pnp_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = ipmr_vif_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = ipmr_mfc_open,
.read = seq_read,
return seq_open(file, &ip_vs_app_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = ip_vs_app_open,
.read = seq_read,
return seq_open(file, &ip_vs_conn_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = ip_vs_conn_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = ip_vs_info_open,
.read = seq_read,
return single_open(file, ip_vs_stats_show, NULL);
}
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,
.owner = THIS_MODULE,
.open = ip_vs_stats_seq_open,
.read = seq_read,
-static struct file_operations ct_file_ops = {
+static const struct file_operations ct_file_ops = {
.owner = THIS_MODULE,
.open = ct_open,
.read = seq_read,
.owner = THIS_MODULE,
.open = ct_open,
.read = seq_read,
return seq_open(file, &exp_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = exp_open,
.read = seq_read,
return seq_open(file, &ct_cpu_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = ct_cpu_seq_open,
.read = seq_read,
static DEFINE_RWLOCK(clusterip_lock);
#ifdef CONFIG_PROC_FS
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
static struct proc_dir_entry *clusterip_procdir;
#endif
-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,
.owner = THIS_MODULE,
.open = clusterip_proc_open,
.read = seq_read,
#ifdef CONFIG_PROC_FS
static struct proc_dir_entry *proc_dir;
#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;
#endif
static u_int32_t hash_rnd;
-static struct file_operations recent_fops = {
+static const struct file_operations recent_fops = {
.open = recent_seq_open,
.read = seq_read,
.write = recent_proc_write,
.open = recent_seq_open,
.read = seq_read,
.write = recent_proc_write,
-static struct file_operations ct_file_ops = {
+static const struct file_operations ct_file_ops = {
.owner = THIS_MODULE,
.open = ct_open,
.read = seq_read,
.owner = THIS_MODULE,
.open = ct_open,
.read = seq_read,
return seq_open(file, &exp_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = exp_open,
.read = seq_read,
return seq_open(file, &ct_cpu_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = ct_cpu_seq_open,
.read = seq_read,
return single_open(file, sockstat_seq_show, NULL);
}
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,
.owner = THIS_MODULE,
.open = sockstat_seq_open,
.read = seq_read,
return single_open(file, snmp_seq_show, NULL);
}
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,
.owner = THIS_MODULE,
.open = snmp_seq_open,
.read = seq_read,
return single_open(file, netstat_seq_show, NULL);
}
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,
.owner = THIS_MODULE,
.open = netstat_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = raw_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = rt_cache_seq_open,
.read = seq_read,
return seq_open(file, &rt_cpu_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = rt_cpu_seq_open,
.read = seq_read,
return error ? error : cnt;
}
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,
.owner = THIS_MODULE,
.open = tcpprobe_open,
.read = tcpprobe_read,
-static struct file_operations if6_fops = {
+static const struct file_operations if6_fops = {
.owner = THIS_MODULE,
.open = if6_seq_open,
.read = seq_read,
.owner = THIS_MODULE,
.open = if6_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = ac6_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = ip6fl_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = igmp6_mc_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = igmp6_mcf_seq_open,
.read = seq_read,
return single_open(file, sockstat6_seq_show, NULL);
}
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,
.owner = THIS_MODULE,
.open = sockstat6_seq_open,
.read = seq_read,
return single_open(file, snmp6_seq_show, PDE(inode)->data);
}
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,
.owner = THIS_MODULE,
.open = snmp6_seq_open,
.read = seq_read,
-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,
.owner = THIS_MODULE,
.open = raw6_seq_open,
.read = seq_read,
return single_open(file, rt6_stats_seq_show, NULL);
}
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,
.owner = THIS_MODULE,
.open = rt6_stats_seq_open,
.read = seq_read,
return seq_open(file, &ipx_seq_socket_ops);
}
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,
.owner = THIS_MODULE,
.open = ipx_seq_interface_open,
.read = seq_read,
.release = seq_release,
};
.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,
.owner = THIS_MODULE,
.open = ipx_seq_route_open,
.read = seq_read,
.release = seq_release,
};
.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,
.owner = THIS_MODULE,
.open = ipx_seq_socket_open,
.read = seq_read,
return seq_open(file, &discovery_seq_ops);
}
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,
.owner = THIS_MODULE,
.open = discovery_seq_open,
.read = seq_read,