Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c5ef1c42 authored by Arjan van de Ven's avatar Arjan van de Ven Committed by Linus Torvalds
Browse files

[PATCH] mark struct inode_operations const 3



Many struct inode_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: default avatarArjan van de Ven <arjan@linux.intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 92e1d5be
Loading
Loading
Loading
Loading
+10 −10
Original line number Original line Diff line number Diff line
@@ -93,7 +93,7 @@ struct pid_entry {
	int len;
	int len;
	char *name;
	char *name;
	mode_t mode;
	mode_t mode;
	struct inode_operations *iop;
	const struct inode_operations *iop;
	const struct file_operations *fop;
	const struct file_operations *fop;
	union proc_op op;
	union proc_op op;
};
};
@@ -352,7 +352,7 @@ static int proc_setattr(struct dentry *dentry, struct iattr *attr)
	return error;
	return error;
}
}


static struct inode_operations proc_def_inode_operations = {
static const struct inode_operations proc_def_inode_operations = {
	.setattr	= proc_setattr,
	.setattr	= proc_setattr,
};
};


@@ -980,7 +980,7 @@ static int proc_pid_readlink(struct dentry * dentry, char __user * buffer, int b
	return error;
	return error;
}
}


static struct inode_operations proc_pid_link_inode_operations = {
static const struct inode_operations proc_pid_link_inode_operations = {
	.readlink	= proc_pid_readlink,
	.readlink	= proc_pid_readlink,
	.follow_link	= proc_pid_follow_link,
	.follow_link	= proc_pid_follow_link,
	.setattr	= proc_setattr,
	.setattr	= proc_setattr,
@@ -1416,7 +1416,7 @@ static const struct file_operations proc_fd_operations = {
/*
/*
 * proc directories can do almost nothing..
 * proc directories can do almost nothing..
 */
 */
static struct inode_operations proc_fd_inode_operations = {
static const struct inode_operations proc_fd_inode_operations = {
	.lookup		= proc_lookupfd,
	.lookup		= proc_lookupfd,
	.setattr	= proc_setattr,
	.setattr	= proc_setattr,
};
};
@@ -1656,7 +1656,7 @@ static struct dentry *proc_attr_dir_lookup(struct inode *dir,
				  attr_dir_stuff, ARRAY_SIZE(attr_dir_stuff));
				  attr_dir_stuff, ARRAY_SIZE(attr_dir_stuff));
}
}


static struct inode_operations proc_attr_dir_inode_operations = {
static const struct inode_operations proc_attr_dir_inode_operations = {
	.lookup		= proc_attr_dir_lookup,
	.lookup		= proc_attr_dir_lookup,
	.getattr	= pid_getattr,
	.getattr	= pid_getattr,
	.setattr	= proc_setattr,
	.setattr	= proc_setattr,
@@ -1682,7 +1682,7 @@ static void *proc_self_follow_link(struct dentry *dentry, struct nameidata *nd)
	return ERR_PTR(vfs_follow_link(nd,tmp));
	return ERR_PTR(vfs_follow_link(nd,tmp));
}
}


static struct inode_operations proc_self_inode_operations = {
static const struct inode_operations proc_self_inode_operations = {
	.readlink	= proc_self_readlink,
	.readlink	= proc_self_readlink,
	.follow_link	= proc_self_follow_link,
	.follow_link	= proc_self_follow_link,
};
};
@@ -1835,7 +1835,7 @@ static int proc_pid_io_accounting(struct task_struct *task, char *buffer)
 * Thread groups
 * Thread groups
 */
 */
static const struct file_operations proc_task_operations;
static const struct file_operations proc_task_operations;
static struct inode_operations proc_task_inode_operations;
static const struct inode_operations proc_task_inode_operations;


static struct pid_entry tgid_base_stuff[] = {
static struct pid_entry tgid_base_stuff[] = {
	DIR("task",       S_IRUGO|S_IXUGO, task),
	DIR("task",       S_IRUGO|S_IXUGO, task),
@@ -1904,7 +1904,7 @@ static struct dentry *proc_tgid_base_lookup(struct inode *dir, struct dentry *de
				  tgid_base_stuff, ARRAY_SIZE(tgid_base_stuff));
				  tgid_base_stuff, ARRAY_SIZE(tgid_base_stuff));
}
}


static struct inode_operations proc_tgid_base_inode_operations = {
static const struct inode_operations proc_tgid_base_inode_operations = {
	.lookup		= proc_tgid_base_lookup,
	.lookup		= proc_tgid_base_lookup,
	.getattr	= pid_getattr,
	.getattr	= pid_getattr,
	.setattr	= proc_setattr,
	.setattr	= proc_setattr,
@@ -2182,7 +2182,7 @@ static const struct file_operations proc_tid_base_operations = {
	.readdir	= proc_tid_base_readdir,
	.readdir	= proc_tid_base_readdir,
};
};


static struct inode_operations proc_tid_base_inode_operations = {
static const struct inode_operations proc_tid_base_inode_operations = {
	.lookup		= proc_tid_base_lookup,
	.lookup		= proc_tid_base_lookup,
	.getattr	= pid_getattr,
	.getattr	= pid_getattr,
	.setattr	= proc_setattr,
	.setattr	= proc_setattr,
@@ -2408,7 +2408,7 @@ static int proc_task_getattr(struct vfsmount *mnt, struct dentry *dentry, struct
	return 0;
	return 0;
}
}


static struct inode_operations proc_task_inode_operations = {
static const struct inode_operations proc_task_inode_operations = {
	.lookup		= proc_task_lookup,
	.lookup		= proc_task_lookup,
	.getattr	= proc_task_getattr,
	.getattr	= proc_task_getattr,
	.setattr	= proc_setattr,
	.setattr	= proc_setattr,
+3 −3
Original line number Original line Diff line number Diff line
@@ -265,7 +265,7 @@ static int proc_getattr(struct vfsmount *mnt, struct dentry *dentry,
	return 0;
	return 0;
}
}


static struct inode_operations proc_file_inode_operations = {
static const struct inode_operations proc_file_inode_operations = {
	.setattr	= proc_notify_change,
	.setattr	= proc_notify_change,
};
};


@@ -357,7 +357,7 @@ static void *proc_follow_link(struct dentry *dentry, struct nameidata *nd)
	return NULL;
	return NULL;
}
}


static struct inode_operations proc_link_inode_operations = {
static const struct inode_operations proc_link_inode_operations = {
	.readlink	= generic_readlink,
	.readlink	= generic_readlink,
	.follow_link	= proc_follow_link,
	.follow_link	= proc_follow_link,
};
};
@@ -505,7 +505,7 @@ static const struct file_operations proc_dir_operations = {
/*
/*
 * proc directories can do almost nothing..
 * proc directories can do almost nothing..
 */
 */
static struct inode_operations proc_dir_inode_operations = {
static const struct inode_operations proc_dir_inode_operations = {
	.lookup		= proc_lookup,
	.lookup		= proc_lookup,
	.getattr	= proc_getattr,
	.getattr	= proc_getattr,
	.setattr	= proc_notify_change,
	.setattr	= proc_notify_change,
+1 −1
Original line number Original line Diff line number Diff line
@@ -144,7 +144,7 @@ static const struct file_operations proc_root_operations = {
/*
/*
 * proc root can do almost nothing..
 * proc root can do almost nothing..
 */
 */
static struct inode_operations proc_root_inode_operations = {
static const struct inode_operations proc_root_inode_operations = {
	.lookup		= proc_root_lookup,
	.lookup		= proc_root_lookup,
	.getattr	= proc_root_getattr,
	.getattr	= proc_root_getattr,
};
};
+1 −1
Original line number Original line Diff line number Diff line
@@ -87,7 +87,7 @@ const struct file_operations qnx4_dir_operations =
	.fsync		= file_fsync,
	.fsync		= file_fsync,
};
};


struct inode_operations qnx4_dir_inode_operations =
const struct inode_operations qnx4_dir_inode_operations =
{
{
	.lookup		= qnx4_lookup,
	.lookup		= qnx4_lookup,
#ifdef CONFIG_QNX4FS_RW
#ifdef CONFIG_QNX4FS_RW
+1 −1
Original line number Original line Diff line number Diff line
@@ -33,7 +33,7 @@ const struct file_operations qnx4_file_operations =
#endif
#endif
};
};


struct inode_operations qnx4_file_inode_operations =
const struct inode_operations qnx4_file_inode_operations =
{
{
#ifdef CONFIG_QNX4FS_RW
#ifdef CONFIG_QNX4FS_RW
	.truncate	= qnx4_truncate,
	.truncate	= qnx4_truncate,
Loading