diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-08 15:19:57 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-08 15:19:57 -0500 |
commit | 972b2c719990f91eb3b2310d44ef8a2d38955a14 (patch) | |
tree | b25a250ec5bec4b7b6355d214642d8b57c5cab32 /kernel | |
parent | 02550d61f49266930e674286379d3601006b2893 (diff) | |
parent | c3aa077648e147783a7a53b409578234647db853 (diff) |
Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
* 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)
reiserfs: Properly display mount options in /proc/mounts
vfs: prevent remount read-only if pending removes
vfs: count unlinked inodes
vfs: protect remounting superblock read-only
vfs: keep list of mounts for each superblock
vfs: switch ->show_options() to struct dentry *
vfs: switch ->show_path() to struct dentry *
vfs: switch ->show_devname() to struct dentry *
vfs: switch ->show_stats to struct dentry *
switch security_path_chmod() to struct path *
vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
vfs: trim includes a bit
switch mnt_namespace ->root to struct mount
vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
vfs: opencode mntget() mnt_set_mountpoint()
vfs: spread struct mount - remaining argument of next_mnt()
vfs: move fsnotify junk to struct mount
vfs: move mnt_devname
vfs: move mnt_list to struct mount
vfs: switch pnode.h macros to struct mount *
...
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/acct.c | 42 | ||||
-rw-r--r-- | kernel/auditsc.c | 20 | ||||
-rw-r--r-- | kernel/cgroup.c | 22 | ||||
-rw-r--r-- | kernel/power/swap.c | 1 | ||||
-rw-r--r-- | kernel/relay.c | 2 | ||||
-rw-r--r-- | kernel/sched/core.c | 2 | ||||
-rw-r--r-- | kernel/trace/blktrace.c | 2 | ||||
-rw-r--r-- | kernel/trace/trace.c | 2 | ||||
-rw-r--r-- | kernel/trace/trace.h | 2 |
9 files changed, 37 insertions, 58 deletions
diff --git a/kernel/acct.c b/kernel/acct.c index 203dfead2e06..02e6167a53b0 100644 --- a/kernel/acct.c +++ b/kernel/acct.c | |||
@@ -84,11 +84,10 @@ static void do_acct_process(struct bsd_acct_struct *acct, | |||
84 | * the cache line to have the data after getting the lock. | 84 | * the cache line to have the data after getting the lock. |
85 | */ | 85 | */ |
86 | struct bsd_acct_struct { | 86 | struct bsd_acct_struct { |
87 | volatile int active; | 87 | int active; |
88 | volatile int needcheck; | 88 | unsigned long needcheck; |
89 | struct file *file; | 89 | struct file *file; |
90 | struct pid_namespace *ns; | 90 | struct pid_namespace *ns; |
91 | struct timer_list timer; | ||
92 | struct list_head list; | 91 | struct list_head list; |
93 | }; | 92 | }; |
94 | 93 | ||
@@ -96,15 +95,6 @@ static DEFINE_SPINLOCK(acct_lock); | |||
96 | static LIST_HEAD(acct_list); | 95 | static LIST_HEAD(acct_list); |
97 | 96 | ||
98 | /* | 97 | /* |
99 | * Called whenever the timer says to check the free space. | ||
100 | */ | ||
101 | static void acct_timeout(unsigned long x) | ||
102 | { | ||
103 | struct bsd_acct_struct *acct = (struct bsd_acct_struct *)x; | ||
104 | acct->needcheck = 1; | ||
105 | } | ||
106 | |||
107 | /* | ||
108 | * Check the amount of free space and suspend/resume accordingly. | 98 | * Check the amount of free space and suspend/resume accordingly. |
109 | */ | 99 | */ |
110 | static int check_free_space(struct bsd_acct_struct *acct, struct file *file) | 100 | static int check_free_space(struct bsd_acct_struct *acct, struct file *file) |
@@ -112,12 +102,12 @@ static int check_free_space(struct bsd_acct_struct *acct, struct file *file) | |||
112 | struct kstatfs sbuf; | 102 | struct kstatfs sbuf; |
113 | int res; | 103 | int res; |
114 | int act; | 104 | int act; |
115 | sector_t resume; | 105 | u64 resume; |
116 | sector_t suspend; | 106 | u64 suspend; |
117 | 107 | ||
118 | spin_lock(&acct_lock); | 108 | spin_lock(&acct_lock); |
119 | res = acct->active; | 109 | res = acct->active; |
120 | if (!file || !acct->needcheck) | 110 | if (!file || time_is_before_jiffies(acct->needcheck)) |
121 | goto out; | 111 | goto out; |
122 | spin_unlock(&acct_lock); | 112 | spin_unlock(&acct_lock); |
123 | 113 | ||
@@ -127,8 +117,8 @@ static int check_free_space(struct bsd_acct_struct *acct, struct file *file) | |||
127 | suspend = sbuf.f_blocks * SUSPEND; | 117 | suspend = sbuf.f_blocks * SUSPEND; |
128 | resume = sbuf.f_blocks * RESUME; | 118 | resume = sbuf.f_blocks * RESUME; |
129 | 119 | ||
130 | sector_div(suspend, 100); | 120 | do_div(suspend, 100); |
131 | sector_div(resume, 100); | 121 | do_div(resume, 100); |
132 | 122 | ||
133 | if (sbuf.f_bavail <= suspend) | 123 | if (sbuf.f_bavail <= suspend) |
134 | act = -1; | 124 | act = -1; |
@@ -160,10 +150,7 @@ static int check_free_space(struct bsd_acct_struct *acct, struct file *file) | |||
160 | } | 150 | } |
161 | } | 151 | } |
162 | 152 | ||
163 | del_timer(&acct->timer); | 153 | acct->needcheck = jiffies + ACCT_TIMEOUT*HZ; |
164 | acct->needcheck = 0; | ||
165 | acct->timer.expires = jiffies + ACCT_TIMEOUT*HZ; | ||
166 | add_timer(&acct->timer); | ||
167 | res = acct->active; | 154 | res = acct->active; |
168 | out: | 155 | out: |
169 | spin_unlock(&acct_lock); | 156 | spin_unlock(&acct_lock); |
@@ -185,9 +172,7 @@ static void acct_file_reopen(struct bsd_acct_struct *acct, struct file *file, | |||
185 | if (acct->file) { | 172 | if (acct->file) { |
186 | old_acct = acct->file; | 173 | old_acct = acct->file; |
187 | old_ns = acct->ns; | 174 | old_ns = acct->ns; |
188 | del_timer(&acct->timer); | ||
189 | acct->active = 0; | 175 | acct->active = 0; |
190 | acct->needcheck = 0; | ||
191 | acct->file = NULL; | 176 | acct->file = NULL; |
192 | acct->ns = NULL; | 177 | acct->ns = NULL; |
193 | list_del(&acct->list); | 178 | list_del(&acct->list); |
@@ -195,13 +180,9 @@ static void acct_file_reopen(struct bsd_acct_struct *acct, struct file *file, | |||
195 | if (file) { | 180 | if (file) { |
196 | acct->file = file; | 181 | acct->file = file; |
197 | acct->ns = ns; | 182 | acct->ns = ns; |
198 | acct->needcheck = 0; | 183 | acct->needcheck = jiffies + ACCT_TIMEOUT*HZ; |
199 | acct->active = 1; | 184 | acct->active = 1; |
200 | list_add(&acct->list, &acct_list); | 185 | list_add(&acct->list, &acct_list); |
201 | /* It's been deleted if it was used before so this is safe */ | ||
202 | setup_timer(&acct->timer, acct_timeout, (unsigned long)acct); | ||
203 | acct->timer.expires = jiffies + ACCT_TIMEOUT*HZ; | ||
204 | add_timer(&acct->timer); | ||
205 | } | 186 | } |
206 | if (old_acct) { | 187 | if (old_acct) { |
207 | mnt_unpin(old_acct->f_path.mnt); | 188 | mnt_unpin(old_acct->f_path.mnt); |
@@ -334,7 +315,7 @@ void acct_auto_close(struct super_block *sb) | |||
334 | spin_lock(&acct_lock); | 315 | spin_lock(&acct_lock); |
335 | restart: | 316 | restart: |
336 | list_for_each_entry(acct, &acct_list, list) | 317 | list_for_each_entry(acct, &acct_list, list) |
337 | if (acct->file && acct->file->f_path.mnt->mnt_sb == sb) { | 318 | if (acct->file && acct->file->f_path.dentry->d_sb == sb) { |
338 | acct_file_reopen(acct, NULL, NULL); | 319 | acct_file_reopen(acct, NULL, NULL); |
339 | goto restart; | 320 | goto restart; |
340 | } | 321 | } |
@@ -348,7 +329,6 @@ void acct_exit_ns(struct pid_namespace *ns) | |||
348 | if (acct == NULL) | 329 | if (acct == NULL) |
349 | return; | 330 | return; |
350 | 331 | ||
351 | del_timer_sync(&acct->timer); | ||
352 | spin_lock(&acct_lock); | 332 | spin_lock(&acct_lock); |
353 | if (acct->file != NULL) | 333 | if (acct->file != NULL) |
354 | acct_file_reopen(acct, NULL, NULL); | 334 | acct_file_reopen(acct, NULL, NULL); |
@@ -498,7 +478,7 @@ static void do_acct_process(struct bsd_acct_struct *acct, | |||
498 | * Fill the accounting struct with the needed info as recorded | 478 | * Fill the accounting struct with the needed info as recorded |
499 | * by the different kernel functions. | 479 | * by the different kernel functions. |
500 | */ | 480 | */ |
501 | memset((caddr_t)&ac, 0, sizeof(acct_t)); | 481 | memset(&ac, 0, sizeof(acct_t)); |
502 | 482 | ||
503 | ac.ac_version = ACCT_VERSION | ACCT_BYTEORDER; | 483 | ac.ac_version = ACCT_VERSION | ACCT_BYTEORDER; |
504 | strlcpy(ac.ac_comm, current->comm, sizeof(ac.ac_comm)); | 484 | strlcpy(ac.ac_comm, current->comm, sizeof(ac.ac_comm)); |
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index 47b7fc1ea893..e7fe2b0d29b3 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c | |||
@@ -210,12 +210,12 @@ struct audit_context { | |||
210 | struct { | 210 | struct { |
211 | uid_t uid; | 211 | uid_t uid; |
212 | gid_t gid; | 212 | gid_t gid; |
213 | mode_t mode; | 213 | umode_t mode; |
214 | u32 osid; | 214 | u32 osid; |
215 | int has_perm; | 215 | int has_perm; |
216 | uid_t perm_uid; | 216 | uid_t perm_uid; |
217 | gid_t perm_gid; | 217 | gid_t perm_gid; |
218 | mode_t perm_mode; | 218 | umode_t perm_mode; |
219 | unsigned long qbytes; | 219 | unsigned long qbytes; |
220 | } ipc; | 220 | } ipc; |
221 | struct { | 221 | struct { |
@@ -234,7 +234,7 @@ struct audit_context { | |||
234 | } mq_sendrecv; | 234 | } mq_sendrecv; |
235 | struct { | 235 | struct { |
236 | int oflag; | 236 | int oflag; |
237 | mode_t mode; | 237 | umode_t mode; |
238 | struct mq_attr attr; | 238 | struct mq_attr attr; |
239 | } mq_open; | 239 | } mq_open; |
240 | struct { | 240 | struct { |
@@ -308,7 +308,7 @@ static int audit_match_perm(struct audit_context *ctx, int mask) | |||
308 | static int audit_match_filetype(struct audit_context *ctx, int which) | 308 | static int audit_match_filetype(struct audit_context *ctx, int which) |
309 | { | 309 | { |
310 | unsigned index = which & ~S_IFMT; | 310 | unsigned index = which & ~S_IFMT; |
311 | mode_t mode = which & S_IFMT; | 311 | umode_t mode = which & S_IFMT; |
312 | 312 | ||
313 | if (unlikely(!ctx)) | 313 | if (unlikely(!ctx)) |
314 | return 0; | 314 | return 0; |
@@ -1249,7 +1249,7 @@ static void show_special(struct audit_context *context, int *call_panic) | |||
1249 | case AUDIT_IPC: { | 1249 | case AUDIT_IPC: { |
1250 | u32 osid = context->ipc.osid; | 1250 | u32 osid = context->ipc.osid; |
1251 | 1251 | ||
1252 | audit_log_format(ab, "ouid=%u ogid=%u mode=%#o", | 1252 | audit_log_format(ab, "ouid=%u ogid=%u mode=%#ho", |
1253 | context->ipc.uid, context->ipc.gid, context->ipc.mode); | 1253 | context->ipc.uid, context->ipc.gid, context->ipc.mode); |
1254 | if (osid) { | 1254 | if (osid) { |
1255 | char *ctx = NULL; | 1255 | char *ctx = NULL; |
@@ -1267,7 +1267,7 @@ static void show_special(struct audit_context *context, int *call_panic) | |||
1267 | ab = audit_log_start(context, GFP_KERNEL, | 1267 | ab = audit_log_start(context, GFP_KERNEL, |
1268 | AUDIT_IPC_SET_PERM); | 1268 | AUDIT_IPC_SET_PERM); |
1269 | audit_log_format(ab, | 1269 | audit_log_format(ab, |
1270 | "qbytes=%lx ouid=%u ogid=%u mode=%#o", | 1270 | "qbytes=%lx ouid=%u ogid=%u mode=%#ho", |
1271 | context->ipc.qbytes, | 1271 | context->ipc.qbytes, |
1272 | context->ipc.perm_uid, | 1272 | context->ipc.perm_uid, |
1273 | context->ipc.perm_gid, | 1273 | context->ipc.perm_gid, |
@@ -1278,7 +1278,7 @@ static void show_special(struct audit_context *context, int *call_panic) | |||
1278 | break; } | 1278 | break; } |
1279 | case AUDIT_MQ_OPEN: { | 1279 | case AUDIT_MQ_OPEN: { |
1280 | audit_log_format(ab, | 1280 | audit_log_format(ab, |
1281 | "oflag=0x%x mode=%#o mq_flags=0x%lx mq_maxmsg=%ld " | 1281 | "oflag=0x%x mode=%#ho mq_flags=0x%lx mq_maxmsg=%ld " |
1282 | "mq_msgsize=%ld mq_curmsgs=%ld", | 1282 | "mq_msgsize=%ld mq_curmsgs=%ld", |
1283 | context->mq_open.oflag, context->mq_open.mode, | 1283 | context->mq_open.oflag, context->mq_open.mode, |
1284 | context->mq_open.attr.mq_flags, | 1284 | context->mq_open.attr.mq_flags, |
@@ -1502,7 +1502,7 @@ static void audit_log_exit(struct audit_context *context, struct task_struct *ts | |||
1502 | 1502 | ||
1503 | if (n->ino != (unsigned long)-1) { | 1503 | if (n->ino != (unsigned long)-1) { |
1504 | audit_log_format(ab, " inode=%lu" | 1504 | audit_log_format(ab, " inode=%lu" |
1505 | " dev=%02x:%02x mode=%#o" | 1505 | " dev=%02x:%02x mode=%#ho" |
1506 | " ouid=%u ogid=%u rdev=%02x:%02x", | 1506 | " ouid=%u ogid=%u rdev=%02x:%02x", |
1507 | n->ino, | 1507 | n->ino, |
1508 | MAJOR(n->dev), | 1508 | MAJOR(n->dev), |
@@ -2160,7 +2160,7 @@ int audit_set_loginuid(struct task_struct *task, uid_t loginuid) | |||
2160 | * @attr: queue attributes | 2160 | * @attr: queue attributes |
2161 | * | 2161 | * |
2162 | */ | 2162 | */ |
2163 | void __audit_mq_open(int oflag, mode_t mode, struct mq_attr *attr) | 2163 | void __audit_mq_open(int oflag, umode_t mode, struct mq_attr *attr) |
2164 | { | 2164 | { |
2165 | struct audit_context *context = current->audit_context; | 2165 | struct audit_context *context = current->audit_context; |
2166 | 2166 | ||
@@ -2260,7 +2260,7 @@ void __audit_ipc_obj(struct kern_ipc_perm *ipcp) | |||
2260 | * | 2260 | * |
2261 | * Called only after audit_ipc_obj(). | 2261 | * Called only after audit_ipc_obj(). |
2262 | */ | 2262 | */ |
2263 | void __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode) | 2263 | void __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, umode_t mode) |
2264 | { | 2264 | { |
2265 | struct audit_context *context = current->audit_context; | 2265 | struct audit_context *context = current->audit_context; |
2266 | 2266 | ||
diff --git a/kernel/cgroup.c b/kernel/cgroup.c index a184470cf9b5..7cab65f83f1d 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c | |||
@@ -760,7 +760,7 @@ EXPORT_SYMBOL_GPL(cgroup_unlock); | |||
760 | * -> cgroup_mkdir. | 760 | * -> cgroup_mkdir. |
761 | */ | 761 | */ |
762 | 762 | ||
763 | static int cgroup_mkdir(struct inode *dir, struct dentry *dentry, int mode); | 763 | static int cgroup_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode); |
764 | static struct dentry *cgroup_lookup(struct inode *, struct dentry *, struct nameidata *); | 764 | static struct dentry *cgroup_lookup(struct inode *, struct dentry *, struct nameidata *); |
765 | static int cgroup_rmdir(struct inode *unused_dir, struct dentry *dentry); | 765 | static int cgroup_rmdir(struct inode *unused_dir, struct dentry *dentry); |
766 | static int cgroup_populate_dir(struct cgroup *cgrp); | 766 | static int cgroup_populate_dir(struct cgroup *cgrp); |
@@ -775,7 +775,7 @@ static struct backing_dev_info cgroup_backing_dev_info = { | |||
775 | static int alloc_css_id(struct cgroup_subsys *ss, | 775 | static int alloc_css_id(struct cgroup_subsys *ss, |
776 | struct cgroup *parent, struct cgroup *child); | 776 | struct cgroup *parent, struct cgroup *child); |
777 | 777 | ||
778 | static struct inode *cgroup_new_inode(mode_t mode, struct super_block *sb) | 778 | static struct inode *cgroup_new_inode(umode_t mode, struct super_block *sb) |
779 | { | 779 | { |
780 | struct inode *inode = new_inode(sb); | 780 | struct inode *inode = new_inode(sb); |
781 | 781 | ||
@@ -1038,9 +1038,9 @@ static int rebind_subsystems(struct cgroupfs_root *root, | |||
1038 | return 0; | 1038 | return 0; |
1039 | } | 1039 | } |
1040 | 1040 | ||
1041 | static int cgroup_show_options(struct seq_file *seq, struct vfsmount *vfs) | 1041 | static int cgroup_show_options(struct seq_file *seq, struct dentry *dentry) |
1042 | { | 1042 | { |
1043 | struct cgroupfs_root *root = vfs->mnt_sb->s_fs_info; | 1043 | struct cgroupfs_root *root = dentry->d_sb->s_fs_info; |
1044 | struct cgroup_subsys *ss; | 1044 | struct cgroup_subsys *ss; |
1045 | 1045 | ||
1046 | mutex_lock(&cgroup_mutex); | 1046 | mutex_lock(&cgroup_mutex); |
@@ -2585,7 +2585,7 @@ static inline struct cftype *__file_cft(struct file *file) | |||
2585 | return __d_cft(file->f_dentry); | 2585 | return __d_cft(file->f_dentry); |
2586 | } | 2586 | } |
2587 | 2587 | ||
2588 | static int cgroup_create_file(struct dentry *dentry, mode_t mode, | 2588 | static int cgroup_create_file(struct dentry *dentry, umode_t mode, |
2589 | struct super_block *sb) | 2589 | struct super_block *sb) |
2590 | { | 2590 | { |
2591 | struct inode *inode; | 2591 | struct inode *inode; |
@@ -2626,7 +2626,7 @@ static int cgroup_create_file(struct dentry *dentry, mode_t mode, | |||
2626 | * @mode: mode to set on new directory. | 2626 | * @mode: mode to set on new directory. |
2627 | */ | 2627 | */ |
2628 | static int cgroup_create_dir(struct cgroup *cgrp, struct dentry *dentry, | 2628 | static int cgroup_create_dir(struct cgroup *cgrp, struct dentry *dentry, |
2629 | mode_t mode) | 2629 | umode_t mode) |
2630 | { | 2630 | { |
2631 | struct dentry *parent; | 2631 | struct dentry *parent; |
2632 | int error = 0; | 2632 | int error = 0; |
@@ -2653,9 +2653,9 @@ static int cgroup_create_dir(struct cgroup *cgrp, struct dentry *dentry, | |||
2653 | * returns S_IRUGO if it has only a read handler | 2653 | * returns S_IRUGO if it has only a read handler |
2654 | * returns S_IWUSR if it has only a write hander | 2654 | * returns S_IWUSR if it has only a write hander |
2655 | */ | 2655 | */ |
2656 | static mode_t cgroup_file_mode(const struct cftype *cft) | 2656 | static umode_t cgroup_file_mode(const struct cftype *cft) |
2657 | { | 2657 | { |
2658 | mode_t mode = 0; | 2658 | umode_t mode = 0; |
2659 | 2659 | ||
2660 | if (cft->mode) | 2660 | if (cft->mode) |
2661 | return cft->mode; | 2661 | return cft->mode; |
@@ -2678,7 +2678,7 @@ int cgroup_add_file(struct cgroup *cgrp, | |||
2678 | struct dentry *dir = cgrp->dentry; | 2678 | struct dentry *dir = cgrp->dentry; |
2679 | struct dentry *dentry; | 2679 | struct dentry *dentry; |
2680 | int error; | 2680 | int error; |
2681 | mode_t mode; | 2681 | umode_t mode; |
2682 | 2682 | ||
2683 | char name[MAX_CGROUP_TYPE_NAMELEN + MAX_CFTYPE_NAME + 2] = { 0 }; | 2683 | char name[MAX_CGROUP_TYPE_NAMELEN + MAX_CFTYPE_NAME + 2] = { 0 }; |
2684 | if (subsys && !test_bit(ROOT_NOPREFIX, &cgrp->root->flags)) { | 2684 | if (subsys && !test_bit(ROOT_NOPREFIX, &cgrp->root->flags)) { |
@@ -3752,7 +3752,7 @@ static void cgroup_unlock_hierarchy(struct cgroupfs_root *root) | |||
3752 | * Must be called with the mutex on the parent inode held | 3752 | * Must be called with the mutex on the parent inode held |
3753 | */ | 3753 | */ |
3754 | static long cgroup_create(struct cgroup *parent, struct dentry *dentry, | 3754 | static long cgroup_create(struct cgroup *parent, struct dentry *dentry, |
3755 | mode_t mode) | 3755 | umode_t mode) |
3756 | { | 3756 | { |
3757 | struct cgroup *cgrp; | 3757 | struct cgroup *cgrp; |
3758 | struct cgroupfs_root *root = parent->root; | 3758 | struct cgroupfs_root *root = parent->root; |
@@ -3846,7 +3846,7 @@ static long cgroup_create(struct cgroup *parent, struct dentry *dentry, | |||
3846 | return err; | 3846 | return err; |
3847 | } | 3847 | } |
3848 | 3848 | ||
3849 | static int cgroup_mkdir(struct inode *dir, struct dentry *dentry, int mode) | 3849 | static int cgroup_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) |
3850 | { | 3850 | { |
3851 | struct cgroup *c_parent = dentry->d_parent->d_fsdata; | 3851 | struct cgroup *c_parent = dentry->d_parent->d_fsdata; |
3852 | 3852 | ||
diff --git a/kernel/power/swap.c b/kernel/power/swap.c index 11a594c4ba25..3739ecced085 100644 --- a/kernel/power/swap.c +++ b/kernel/power/swap.c | |||
@@ -18,7 +18,6 @@ | |||
18 | #include <linux/bitops.h> | 18 | #include <linux/bitops.h> |
19 | #include <linux/genhd.h> | 19 | #include <linux/genhd.h> |
20 | #include <linux/device.h> | 20 | #include <linux/device.h> |
21 | #include <linux/buffer_head.h> | ||
22 | #include <linux/bio.h> | 21 | #include <linux/bio.h> |
23 | #include <linux/blkdev.h> | 22 | #include <linux/blkdev.h> |
24 | #include <linux/swap.h> | 23 | #include <linux/swap.h> |
diff --git a/kernel/relay.c b/kernel/relay.c index 226fade4d727..4335e1d7ee2d 100644 --- a/kernel/relay.c +++ b/kernel/relay.c | |||
@@ -302,7 +302,7 @@ static void buf_unmapped_default_callback(struct rchan_buf *buf, | |||
302 | */ | 302 | */ |
303 | static struct dentry *create_buf_file_default_callback(const char *filename, | 303 | static struct dentry *create_buf_file_default_callback(const char *filename, |
304 | struct dentry *parent, | 304 | struct dentry *parent, |
305 | int mode, | 305 | umode_t mode, |
306 | struct rchan_buf *buf, | 306 | struct rchan_buf *buf, |
307 | int *is_global) | 307 | int *is_global) |
308 | { | 308 | { |
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 2a4590fabcad..0ac0f811d623 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c | |||
@@ -5176,7 +5176,7 @@ static void sd_free_ctl_entry(struct ctl_table **tablep) | |||
5176 | static void | 5176 | static void |
5177 | set_table_entry(struct ctl_table *entry, | 5177 | set_table_entry(struct ctl_table *entry, |
5178 | const char *procname, void *data, int maxlen, | 5178 | const char *procname, void *data, int maxlen, |
5179 | mode_t mode, proc_handler *proc_handler) | 5179 | umode_t mode, proc_handler *proc_handler) |
5180 | { | 5180 | { |
5181 | entry->procname = procname; | 5181 | entry->procname = procname; |
5182 | entry->data = data; | 5182 | entry->data = data; |
diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c index 16fc34a0806f..cdea7b56b0c9 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c | |||
@@ -402,7 +402,7 @@ static int blk_remove_buf_file_callback(struct dentry *dentry) | |||
402 | 402 | ||
403 | static struct dentry *blk_create_buf_file_callback(const char *filename, | 403 | static struct dentry *blk_create_buf_file_callback(const char *filename, |
404 | struct dentry *parent, | 404 | struct dentry *parent, |
405 | int mode, | 405 | umode_t mode, |
406 | struct rchan_buf *buf, | 406 | struct rchan_buf *buf, |
407 | int *is_global) | 407 | int *is_global) |
408 | { | 408 | { |
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 91dc4bc8bf72..a3f1bc5d2a00 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -4438,7 +4438,7 @@ static const struct file_operations trace_options_core_fops = { | |||
4438 | }; | 4438 | }; |
4439 | 4439 | ||
4440 | struct dentry *trace_create_file(const char *name, | 4440 | struct dentry *trace_create_file(const char *name, |
4441 | mode_t mode, | 4441 | umode_t mode, |
4442 | struct dentry *parent, | 4442 | struct dentry *parent, |
4443 | void *data, | 4443 | void *data, |
4444 | const struct file_operations *fops) | 4444 | const struct file_operations *fops) |
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 2c2657462ac3..b93ecbadad6d 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h | |||
@@ -312,7 +312,7 @@ void tracing_reset_current(int cpu); | |||
312 | void tracing_reset_current_online_cpus(void); | 312 | void tracing_reset_current_online_cpus(void); |
313 | int tracing_open_generic(struct inode *inode, struct file *filp); | 313 | int tracing_open_generic(struct inode *inode, struct file *filp); |
314 | struct dentry *trace_create_file(const char *name, | 314 | struct dentry *trace_create_file(const char *name, |
315 | mode_t mode, | 315 | umode_t mode, |
316 | struct dentry *parent, | 316 | struct dentry *parent, |
317 | void *data, | 317 | void *data, |
318 | const struct file_operations *fops); | 318 | const struct file_operations *fops); |