Skip to content

Commit

Permalink
[PATCH] mark struct file_operations const 5
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
fenrus75 authored and Linus Torvalds committed Feb 12, 2007
1 parent fa027c2 commit d54b1fd
Show file tree
Hide file tree
Showing 45 changed files with 89 additions and 89 deletions.
2 changes: 1 addition & 1 deletion drivers/message/i2o/i2o_config.c
Original file line number Diff line number Diff line change
Expand Up @@ -1111,7 +1111,7 @@ static int cfg_release(struct inode *inode, struct file *file)
return 0;
}

static struct file_operations config_fops = {
static const struct file_operations config_fops = {
.owner = THIS_MODULE,
.llseek = no_llseek,
.ioctl = i2o_cfg_ioctl,
Expand Down
38 changes: 19 additions & 19 deletions drivers/message/i2o/i2o_proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1703,133 +1703,133 @@ static int i2o_seq_open_dev_name(struct inode *inode, struct file *file)
return single_open(file, i2o_seq_show_dev_name, PDE(inode)->data);
};

static struct file_operations i2o_seq_fops_lct = {
static const struct file_operations i2o_seq_fops_lct = {
.open = i2o_seq_open_lct,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_hrt = {
static const struct file_operations i2o_seq_fops_hrt = {
.open = i2o_seq_open_hrt,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_status = {
static const struct file_operations i2o_seq_fops_status = {
.open = i2o_seq_open_status,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_hw = {
static const struct file_operations i2o_seq_fops_hw = {
.open = i2o_seq_open_hw,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_ddm_table = {
static const struct file_operations i2o_seq_fops_ddm_table = {
.open = i2o_seq_open_ddm_table,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_driver_store = {
static const struct file_operations i2o_seq_fops_driver_store = {
.open = i2o_seq_open_driver_store,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_drivers_stored = {
static const struct file_operations i2o_seq_fops_drivers_stored = {
.open = i2o_seq_open_drivers_stored,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_groups = {
static const struct file_operations i2o_seq_fops_groups = {
.open = i2o_seq_open_groups,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_phys_device = {
static const struct file_operations i2o_seq_fops_phys_device = {
.open = i2o_seq_open_phys_device,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_claimed = {
static const struct file_operations i2o_seq_fops_claimed = {
.open = i2o_seq_open_claimed,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_users = {
static const struct file_operations i2o_seq_fops_users = {
.open = i2o_seq_open_users,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_priv_msgs = {
static const struct file_operations i2o_seq_fops_priv_msgs = {
.open = i2o_seq_open_priv_msgs,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_authorized_users = {
static const struct file_operations i2o_seq_fops_authorized_users = {
.open = i2o_seq_open_authorized_users,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_dev_name = {
static const struct file_operations i2o_seq_fops_dev_name = {
.open = i2o_seq_open_dev_name,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_dev_identity = {
static const struct file_operations i2o_seq_fops_dev_identity = {
.open = i2o_seq_open_dev_identity,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_ddm_identity = {
static const struct file_operations i2o_seq_fops_ddm_identity = {
.open = i2o_seq_open_ddm_identity,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_uinfo = {
static const struct file_operations i2o_seq_fops_uinfo = {
.open = i2o_seq_open_uinfo,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_sgl_limits = {
static const struct file_operations i2o_seq_fops_sgl_limits = {
.open = i2o_seq_open_sgl_limits,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release,
};

static struct file_operations i2o_seq_fops_sensors = {
static const struct file_operations i2o_seq_fops_sensors = {
.open = i2o_seq_open_sensors,
.read = seq_read,
.llseek = seq_lseek,
Expand Down
2 changes: 1 addition & 1 deletion drivers/misc/hdpuftrs/hdpu_cpustate.c
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ static struct platform_driver hdpu_cpustate_driver = {
/*
* The various file operations we support.
*/
static struct file_operations cpustate_fops = {
static const struct file_operations cpustate_fops = {
owner:THIS_MODULE,
open:cpustate_open,
release:cpustate_release,
Expand Down
10 changes: 5 additions & 5 deletions drivers/misc/ibmasm/ibmasmfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ static struct inode *ibmasmfs_make_inode(struct super_block *sb, int mode)
static struct dentry *ibmasmfs_create_file (struct super_block *sb,
struct dentry *parent,
const char *name,
struct file_operations *fops,
const struct file_operations *fops,
void *data,
int mode)
{
Expand Down Expand Up @@ -581,28 +581,28 @@ static ssize_t remote_settings_file_write(struct file *file, const char __user *
return count;
}

static struct file_operations command_fops = {
static const struct file_operations command_fops = {
.open = command_file_open,
.release = command_file_close,
.read = command_file_read,
.write = command_file_write,
};

static struct file_operations event_fops = {
static const struct file_operations event_fops = {
.open = event_file_open,
.release = event_file_close,
.read = event_file_read,
.write = event_file_write,
};

static struct file_operations r_heartbeat_fops = {
static const struct file_operations r_heartbeat_fops = {
.open = r_heartbeat_file_open,
.release = r_heartbeat_file_close,
.read = r_heartbeat_file_read,
.write = r_heartbeat_file_write,
};

static struct file_operations remote_settings_fops = {
static const struct file_operations remote_settings_fops = {
.open = remote_settings_file_open,
.release = remote_settings_file_close,
.read = remote_settings_file_read,
Expand Down
2 changes: 1 addition & 1 deletion drivers/mtd/mtdchar.c
Original file line number Diff line number Diff line change
Expand Up @@ -759,7 +759,7 @@ static int mtd_ioctl(struct inode *inode, struct file *file,
return ret;
} /* memory_ioctl */

static struct file_operations mtd_fops = {
static const struct file_operations mtd_fops = {
.owner = THIS_MODULE,
.llseek = mtd_lseek,
.read = mtd_read,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/bonding/bond_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -3120,7 +3120,7 @@ static int bond_info_open(struct inode *inode, struct file *file)
return res;
}

static struct file_operations bond_info_fops = {
static const struct file_operations bond_info_fops = {
.owner = THIS_MODULE,
.open = bond_info_open,
.read = seq_read,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/hamradio/bpqether.c
Original file line number Diff line number Diff line change
Expand Up @@ -459,7 +459,7 @@ static int bpq_info_open(struct inode *inode, struct file *file)
return seq_open(file, &bpq_seqops);
}

static struct file_operations bpq_info_fops = {
static const struct file_operations bpq_info_fops = {
.owner = THIS_MODULE,
.open = bpq_info_open,
.read = seq_read,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/hamradio/scc.c
Original file line number Diff line number Diff line change
Expand Up @@ -2083,7 +2083,7 @@ static int scc_net_seq_open(struct inode *inode, struct file *file)
return seq_open(file, &scc_net_seq_ops);
}

static struct file_operations scc_net_seq_fops = {
static const struct file_operations scc_net_seq_fops = {
.owner = THIS_MODULE,
.open = scc_net_seq_open,
.read = seq_read,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/hamradio/yam.c
Original file line number Diff line number Diff line change
Expand Up @@ -804,7 +804,7 @@ static int yam_info_open(struct inode *inode, struct file *file)
return seq_open(file, &yam_seqops);
}

static struct file_operations yam_info_fops = {
static const struct file_operations yam_info_fops = {
.owner = THIS_MODULE,
.open = yam_info_open,
.read = seq_read,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ibmveth.c
Original file line number Diff line number Diff line change
Expand Up @@ -1156,7 +1156,7 @@ static int ibmveth_proc_open(struct inode *inode, struct file *file)
return rc;
}

static struct file_operations ibmveth_proc_fops = {
static const struct file_operations ibmveth_proc_fops = {
.owner = THIS_MODULE,
.open = ibmveth_proc_open,
.read = seq_read,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/irda/vlsi_ir.c
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,7 @@ static int vlsi_seq_open(struct inode *inode, struct file *file)
return single_open(file, vlsi_seq_show, PDE(inode)->data);
}

static struct file_operations vlsi_proc_fops = {
static const struct file_operations vlsi_proc_fops = {
.owner = THIS_MODULE,
.open = vlsi_seq_open,
.read = seq_read,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ppp_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -834,7 +834,7 @@ static int ppp_unattached_ioctl(struct ppp_file *pf, struct file *file,
return err;
}

static struct file_operations ppp_device_fops = {
static const struct file_operations ppp_device_fops = {
.owner = THIS_MODULE,
.read = ppp_read,
.write = ppp_write,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/pppoe.c
Original file line number Diff line number Diff line change
Expand Up @@ -1043,7 +1043,7 @@ static int pppoe_seq_open(struct inode *inode, struct file *file)
return seq_open(file, &pppoe_seq_ops);
}

static struct file_operations pppoe_seq_fops = {
static const struct file_operations pppoe_seq_fops = {
.owner = THIS_MODULE,
.open = pppoe_seq_open,
.read = seq_read,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/tun.c
Original file line number Diff line number Diff line change
Expand Up @@ -744,7 +744,7 @@ static int tun_chr_close(struct inode *inode, struct file *file)
return 0;
}

static struct file_operations tun_fops = {
static const struct file_operations tun_fops = {
.owner = THIS_MODULE,
.llseek = no_llseek,
.read = do_sync_read,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wan/cosa.c
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ static int cosa_chardev_ioctl(struct inode *inode, struct file *file,
static int cosa_fasync(struct inode *inode, struct file *file, int on);
#endif

static struct file_operations cosa_fops = {
static const struct file_operations cosa_fops = {
.owner = THIS_MODULE,
.llseek = no_llseek,
.read = cosa_read,
Expand Down
16 changes: 8 additions & 8 deletions drivers/net/wireless/airo.c
Original file line number Diff line number Diff line change
Expand Up @@ -4430,53 +4430,53 @@ static int proc_BSSList_open( struct inode *inode, struct file *file );
static int proc_config_open( struct inode *inode, struct file *file );
static int proc_wepkey_open( struct inode *inode, struct file *file );

static struct file_operations proc_statsdelta_ops = {
static const struct file_operations proc_statsdelta_ops = {
.read = proc_read,
.open = proc_statsdelta_open,
.release = proc_close
};

static struct file_operations proc_stats_ops = {
static const struct file_operations proc_stats_ops = {
.read = proc_read,
.open = proc_stats_open,
.release = proc_close
};

static struct file_operations proc_status_ops = {
static const struct file_operations proc_status_ops = {
.read = proc_read,
.open = proc_status_open,
.release = proc_close
};

static struct file_operations proc_SSID_ops = {
static const struct file_operations proc_SSID_ops = {
.read = proc_read,
.write = proc_write,
.open = proc_SSID_open,
.release = proc_close
};

static struct file_operations proc_BSSList_ops = {
static const struct file_operations proc_BSSList_ops = {
.read = proc_read,
.write = proc_write,
.open = proc_BSSList_open,
.release = proc_close
};

static struct file_operations proc_APList_ops = {
static const struct file_operations proc_APList_ops = {
.read = proc_read,
.write = proc_write,
.open = proc_APList_open,
.release = proc_close
};

static struct file_operations proc_config_ops = {
static const struct file_operations proc_config_ops = {
.read = proc_read,
.write = proc_write,
.open = proc_config_open,
.release = proc_close
};

static struct file_operations proc_wepkey_ops = {
static const struct file_operations proc_wepkey_ops = {
.read = proc_read,
.write = proc_write,
.open = proc_wepkey_open,
Expand Down
Loading

0 comments on commit d54b1fd

Please sign in to comment.