aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/infiniband/hw/ipath/ipath_fs.c1
-rw-r--r--drivers/infiniband/hw/qib/qib_fs.c1
-rw-r--r--drivers/misc/ibmasm/ibmasmfs.c1
-rw-r--r--drivers/oprofile/oprofilefs.c1
-rw-r--r--drivers/usb/core/inode.c1
-rw-r--r--drivers/usb/gadget/f_fs.c1
-rw-r--r--drivers/usb/gadget/inode.c1
-rw-r--r--fs/anon_inodes.c1
-rw-r--r--fs/autofs4/inode.c1
-rw-r--r--fs/binfmt_misc.c1
-rw-r--r--fs/configfs/inode.c1
-rw-r--r--fs/debugfs/inode.c1
-rw-r--r--fs/ext4/mballoc.c1
-rw-r--r--fs/freevxfs/vxfs_inode.c1
-rw-r--r--fs/fuse/control.c1
-rw-r--r--fs/hugetlbfs/inode.c1
-rw-r--r--fs/inode.c4
-rw-r--r--fs/ocfs2/dlmfs/dlmfs.c2
-rw-r--r--fs/pipe.c2
-rw-r--r--fs/proc/base.c2
-rw-r--r--fs/proc/proc_sysctl.c2
-rw-r--r--fs/ramfs/inode.c1
-rw-r--r--fs/xfs/linux-2.6/xfs_buf.c1
-rw-r--r--include/linux/fs.h1
-rw-r--r--ipc/mqueue.c1
-rw-r--r--kernel/cgroup.c1
-rw-r--r--mm/shmem.c1
-rw-r--r--net/socket.c1
-rw-r--r--net/sunrpc/rpc_pipe.c1
-rw-r--r--security/inode.c1
-rw-r--r--security/selinux/selinuxfs.c1
31 files changed, 36 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_fs.c b/drivers/infiniband/hw/ipath/ipath_fs.c
index d13e72685dc..12d5bf76302 100644
--- a/drivers/infiniband/hw/ipath/ipath_fs.c
+++ b/drivers/infiniband/hw/ipath/ipath_fs.c
@@ -57,6 +57,7 @@ static int ipathfs_mknod(struct inode *dir, struct dentry *dentry,
57 goto bail; 57 goto bail;
58 } 58 }
59 59
60 inode->i_ino = get_next_ino();
60 inode->i_mode = mode; 61 inode->i_mode = mode;
61 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; 62 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
62 inode->i_private = data; 63 inode->i_private = data;
diff --git a/drivers/infiniband/hw/qib/qib_fs.c b/drivers/infiniband/hw/qib/qib_fs.c
index a0e6613e8be..7e433d75c77 100644
--- a/drivers/infiniband/hw/qib/qib_fs.c
+++ b/drivers/infiniband/hw/qib/qib_fs.c
@@ -58,6 +58,7 @@ static int qibfs_mknod(struct inode *dir, struct dentry *dentry,
58 goto bail; 58 goto bail;
59 } 59 }
60 60
61 inode->i_ino = get_next_ino();
61 inode->i_mode = mode; 62 inode->i_mode = mode;
62 inode->i_uid = 0; 63 inode->i_uid = 0;
63 inode->i_gid = 0; 64 inode->i_gid = 0;
diff --git a/drivers/misc/ibmasm/ibmasmfs.c b/drivers/misc/ibmasm/ibmasmfs.c
index af2497ae5fe..0a53500636c 100644
--- a/drivers/misc/ibmasm/ibmasmfs.c
+++ b/drivers/misc/ibmasm/ibmasmfs.c
@@ -146,6 +146,7 @@ static struct inode *ibmasmfs_make_inode(struct super_block *sb, int mode)
146 struct inode *ret = new_inode(sb); 146 struct inode *ret = new_inode(sb);
147 147
148 if (ret) { 148 if (ret) {
149 ret->i_ino = get_next_ino();
149 ret->i_mode = mode; 150 ret->i_mode = mode;
150 ret->i_atime = ret->i_mtime = ret->i_ctime = CURRENT_TIME; 151 ret->i_atime = ret->i_mtime = ret->i_ctime = CURRENT_TIME;
151 } 152 }
diff --git a/drivers/oprofile/oprofilefs.c b/drivers/oprofile/oprofilefs.c
index 95f711b251a..449de59bf35 100644
--- a/drivers/oprofile/oprofilefs.c
+++ b/drivers/oprofile/oprofilefs.c
@@ -28,6 +28,7 @@ static struct inode *oprofilefs_get_inode(struct super_block *sb, int mode)
28 struct inode *inode = new_inode(sb); 28 struct inode *inode = new_inode(sb);
29 29
30 if (inode) { 30 if (inode) {
31 inode->i_ino = get_next_ino();
31 inode->i_mode = mode; 32 inode->i_mode = mode;
32 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; 33 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
33 } 34 }
diff --git a/drivers/usb/core/inode.c b/drivers/usb/core/inode.c
index 095fa536669..e2f63c0ea09 100644
--- a/drivers/usb/core/inode.c
+++ b/drivers/usb/core/inode.c
@@ -276,6 +276,7 @@ static struct inode *usbfs_get_inode (struct super_block *sb, int mode, dev_t de
276 struct inode *inode = new_inode(sb); 276 struct inode *inode = new_inode(sb);
277 277
278 if (inode) { 278 if (inode) {
279 inode->i_ino = get_next_ino();
279 inode->i_mode = mode; 280 inode->i_mode = mode;
280 inode->i_uid = current_fsuid(); 281 inode->i_uid = current_fsuid();
281 inode->i_gid = current_fsgid(); 282 inode->i_gid = current_fsgid();
diff --git a/drivers/usb/gadget/f_fs.c b/drivers/usb/gadget/f_fs.c
index e4f59505520..e093fd8d04d 100644
--- a/drivers/usb/gadget/f_fs.c
+++ b/drivers/usb/gadget/f_fs.c
@@ -980,6 +980,7 @@ ffs_sb_make_inode(struct super_block *sb, void *data,
980 if (likely(inode)) { 980 if (likely(inode)) {
981 struct timespec current_time = CURRENT_TIME; 981 struct timespec current_time = CURRENT_TIME;
982 982
983 inode->i_ino = usbfs_get_inode();
983 inode->i_mode = perms->mode; 984 inode->i_mode = perms->mode;
984 inode->i_uid = perms->uid; 985 inode->i_uid = perms->uid;
985 inode->i_gid = perms->gid; 986 inode->i_gid = perms->gid;
diff --git a/drivers/usb/gadget/inode.c b/drivers/usb/gadget/inode.c
index d1d72d946b0..ba145e7fbe0 100644
--- a/drivers/usb/gadget/inode.c
+++ b/drivers/usb/gadget/inode.c
@@ -1991,6 +1991,7 @@ gadgetfs_make_inode (struct super_block *sb,
1991 struct inode *inode = new_inode (sb); 1991 struct inode *inode = new_inode (sb);
1992 1992
1993 if (inode) { 1993 if (inode) {
1994 inode->i_ino = get_next_ino();
1994 inode->i_mode = mode; 1995 inode->i_mode = mode;
1995 inode->i_uid = default_uid; 1996 inode->i_uid = default_uid;
1996 inode->i_gid = default_gid; 1997 inode->i_gid = default_gid;
diff --git a/fs/anon_inodes.c b/fs/anon_inodes.c
index 9c8e87b0361..5365527ca43 100644
--- a/fs/anon_inodes.c
+++ b/fs/anon_inodes.c
@@ -193,6 +193,7 @@ static struct inode *anon_inode_mkinode(void)
193 if (!inode) 193 if (!inode)
194 return ERR_PTR(-ENOMEM); 194 return ERR_PTR(-ENOMEM);
195 195
196 inode->i_ino = get_next_ino();
196 inode->i_fop = &anon_inode_fops; 197 inode->i_fop = &anon_inode_fops;
197 198
198 inode->i_mapping->a_ops = &anon_aops; 199 inode->i_mapping->a_ops = &anon_aops;
diff --git a/fs/autofs4/inode.c b/fs/autofs4/inode.c
index 821b2b955da..ac87e49fa70 100644
--- a/fs/autofs4/inode.c
+++ b/fs/autofs4/inode.c
@@ -398,6 +398,7 @@ struct inode *autofs4_get_inode(struct super_block *sb,
398 inode->i_gid = sb->s_root->d_inode->i_gid; 398 inode->i_gid = sb->s_root->d_inode->i_gid;
399 } 399 }
400 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; 400 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
401 inode->i_ino = get_next_ino();
401 402
402 if (S_ISDIR(inf->mode)) { 403 if (S_ISDIR(inf->mode)) {
403 inode->i_nlink = 2; 404 inode->i_nlink = 2;
diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c
index 139fc8083f5..29990f0eee0 100644
--- a/fs/binfmt_misc.c
+++ b/fs/binfmt_misc.c
@@ -495,6 +495,7 @@ static struct inode *bm_get_inode(struct super_block *sb, int mode)
495 struct inode * inode = new_inode(sb); 495 struct inode * inode = new_inode(sb);
496 496
497 if (inode) { 497 if (inode) {
498 inode->i_ino = get_next_ino();
498 inode->i_mode = mode; 499 inode->i_mode = mode;
499 inode->i_atime = inode->i_mtime = inode->i_ctime = 500 inode->i_atime = inode->i_mtime = inode->i_ctime =
500 current_fs_time(inode->i_sb); 501 current_fs_time(inode->i_sb);
diff --git a/fs/configfs/inode.c b/fs/configfs/inode.c
index cf78d44a8d6..253476d78ed 100644
--- a/fs/configfs/inode.c
+++ b/fs/configfs/inode.c
@@ -135,6 +135,7 @@ struct inode * configfs_new_inode(mode_t mode, struct configfs_dirent * sd)
135{ 135{
136 struct inode * inode = new_inode(configfs_sb); 136 struct inode * inode = new_inode(configfs_sb);
137 if (inode) { 137 if (inode) {
138 inode->i_ino = get_next_ino();
138 inode->i_mapping->a_ops = &configfs_aops; 139 inode->i_mapping->a_ops = &configfs_aops;
139 inode->i_mapping->backing_dev_info = &configfs_backing_dev_info; 140 inode->i_mapping->backing_dev_info = &configfs_backing_dev_info;
140 inode->i_op = &configfs_inode_operations; 141 inode->i_op = &configfs_inode_operations;
diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c
index 30a87b3dbca..a4ed8380e98 100644
--- a/fs/debugfs/inode.c
+++ b/fs/debugfs/inode.c
@@ -40,6 +40,7 @@ static struct inode *debugfs_get_inode(struct super_block *sb, int mode, dev_t d
40 struct inode *inode = new_inode(sb); 40 struct inode *inode = new_inode(sb);
41 41
42 if (inode) { 42 if (inode) {
43 inode->i_ino = get_next_ino();
43 inode->i_mode = mode; 44 inode->i_mode = mode;
44 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; 45 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
45 switch (mode & S_IFMT) { 46 switch (mode & S_IFMT) {
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 19aa0d44d82..42f77b1dc72 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -2373,6 +2373,7 @@ static int ext4_mb_init_backend(struct super_block *sb)
2373 printk(KERN_ERR "EXT4-fs: can't get new inode\n"); 2373 printk(KERN_ERR "EXT4-fs: can't get new inode\n");
2374 goto err_freesgi; 2374 goto err_freesgi;
2375 } 2375 }
2376 sbi->s_buddy_cache->i_ino = get_next_ino();
2376 EXT4_I(sbi->s_buddy_cache)->i_disksize = 0; 2377 EXT4_I(sbi->s_buddy_cache)->i_disksize = 0;
2377 for (i = 0; i < ngroups; i++) { 2378 for (i = 0; i < ngroups; i++) {
2378 desc = ext4_get_group_desc(sb, i, NULL); 2379 desc = ext4_get_group_desc(sb, i, NULL);
diff --git a/fs/freevxfs/vxfs_inode.c b/fs/freevxfs/vxfs_inode.c
index 79d1b4ea13e..8c04eac5079 100644
--- a/fs/freevxfs/vxfs_inode.c
+++ b/fs/freevxfs/vxfs_inode.c
@@ -260,6 +260,7 @@ vxfs_get_fake_inode(struct super_block *sbp, struct vxfs_inode_info *vip)
260 struct inode *ip = NULL; 260 struct inode *ip = NULL;
261 261
262 if ((ip = new_inode(sbp))) { 262 if ((ip = new_inode(sbp))) {
263 ip->i_ino = get_next_ino();
263 vxfs_iinit(ip, vip); 264 vxfs_iinit(ip, vip);
264 ip->i_mapping->a_ops = &vxfs_aops; 265 ip->i_mapping->a_ops = &vxfs_aops;
265 } 266 }
diff --git a/fs/fuse/control.c b/fs/fuse/control.c
index 7367e177186..4eba07661e5 100644
--- a/fs/fuse/control.c
+++ b/fs/fuse/control.c
@@ -222,6 +222,7 @@ static struct dentry *fuse_ctl_add_dentry(struct dentry *parent,
222 if (!inode) 222 if (!inode)
223 return NULL; 223 return NULL;
224 224
225 inode->i_ino = get_next_ino();
225 inode->i_mode = mode; 226 inode->i_mode = mode;
226 inode->i_uid = fc->user_id; 227 inode->i_uid = fc->user_id;
227 inode->i_gid = fc->group_id; 228 inode->i_gid = fc->group_id;
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 113eba3d3c3..8d0607b3726 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -455,6 +455,7 @@ static struct inode *hugetlbfs_get_inode(struct super_block *sb, uid_t uid,
455 inode = new_inode(sb); 455 inode = new_inode(sb);
456 if (inode) { 456 if (inode) {
457 struct hugetlbfs_inode_info *info; 457 struct hugetlbfs_inode_info *info;
458 inode->i_ino = get_next_ino();
458 inode->i_mode = mode; 459 inode->i_mode = mode;
459 inode->i_uid = uid; 460 inode->i_uid = uid;
460 inode->i_gid = gid; 461 inode->i_gid = gid;
diff --git a/fs/inode.c b/fs/inode.c
index 46a3e120b19..2cd2e48f7a2 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -735,7 +735,7 @@ repeat:
735#define LAST_INO_BATCH 1024 735#define LAST_INO_BATCH 1024
736static DEFINE_PER_CPU(unsigned int, last_ino); 736static DEFINE_PER_CPU(unsigned int, last_ino);
737 737
738static unsigned int get_next_ino(void) 738unsigned int get_next_ino(void)
739{ 739{
740 unsigned int *p = &get_cpu_var(last_ino); 740 unsigned int *p = &get_cpu_var(last_ino);
741 unsigned int res = *p; 741 unsigned int res = *p;
@@ -753,6 +753,7 @@ static unsigned int get_next_ino(void)
753 put_cpu_var(last_ino); 753 put_cpu_var(last_ino);
754 return res; 754 return res;
755} 755}
756EXPORT_SYMBOL(get_next_ino);
756 757
757/** 758/**
758 * new_inode - obtain an inode 759 * new_inode - obtain an inode
@@ -776,7 +777,6 @@ struct inode *new_inode(struct super_block *sb)
776 if (inode) { 777 if (inode) {
777 spin_lock(&inode_lock); 778 spin_lock(&inode_lock);
778 __inode_sb_list_add(inode); 779 __inode_sb_list_add(inode);
779 inode->i_ino = get_next_ino();
780 inode->i_state = 0; 780 inode->i_state = 0;
781 spin_unlock(&inode_lock); 781 spin_unlock(&inode_lock);
782 } 782 }
diff --git a/fs/ocfs2/dlmfs/dlmfs.c b/fs/ocfs2/dlmfs/dlmfs.c
index a7ebd9d42dc..75e115f1bd7 100644
--- a/fs/ocfs2/dlmfs/dlmfs.c
+++ b/fs/ocfs2/dlmfs/dlmfs.c
@@ -400,6 +400,7 @@ static struct inode *dlmfs_get_root_inode(struct super_block *sb)
400 if (inode) { 400 if (inode) {
401 ip = DLMFS_I(inode); 401 ip = DLMFS_I(inode);
402 402
403 inode->i_ino = get_next_ino();
403 inode->i_mode = mode; 404 inode->i_mode = mode;
404 inode->i_uid = current_fsuid(); 405 inode->i_uid = current_fsuid();
405 inode->i_gid = current_fsgid(); 406 inode->i_gid = current_fsgid();
@@ -425,6 +426,7 @@ static struct inode *dlmfs_get_inode(struct inode *parent,
425 if (!inode) 426 if (!inode)
426 return NULL; 427 return NULL;
427 428
429 inode->i_ino = get_next_ino();
428 inode->i_mode = mode; 430 inode->i_mode = mode;
429 inode->i_uid = current_fsuid(); 431 inode->i_uid = current_fsuid();
430 inode->i_gid = current_fsgid(); 432 inode->i_gid = current_fsgid();
diff --git a/fs/pipe.c b/fs/pipe.c
index 37eb1ebeaa9..d2d7566ce68 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -954,6 +954,8 @@ static struct inode * get_pipe_inode(void)
954 if (!inode) 954 if (!inode)
955 goto fail_inode; 955 goto fail_inode;
956 956
957 inode->i_ino = get_next_ino();
958
957 pipe = alloc_pipe_info(inode); 959 pipe = alloc_pipe_info(inode);
958 if (!pipe) 960 if (!pipe)
959 goto fail_iput; 961 goto fail_iput;
diff --git a/fs/proc/base.c b/fs/proc/base.c
index fb2a5abd4e4..9883f1e1833 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -1603,6 +1603,7 @@ static struct inode *proc_pid_make_inode(struct super_block * sb, struct task_st
1603 1603
1604 /* Common stuff */ 1604 /* Common stuff */
1605 ei = PROC_I(inode); 1605 ei = PROC_I(inode);
1606 inode->i_ino = get_next_ino();
1606 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; 1607 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
1607 inode->i_op = &proc_def_inode_operations; 1608 inode->i_op = &proc_def_inode_operations;
1608 1609
@@ -2549,6 +2550,7 @@ static struct dentry *proc_base_instantiate(struct inode *dir,
2549 2550
2550 /* Initialize the inode */ 2551 /* Initialize the inode */
2551 ei = PROC_I(inode); 2552 ei = PROC_I(inode);
2553 inode->i_ino = get_next_ino();
2552 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; 2554 inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
2553 2555
2554 /* 2556 /*
diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
index 2fc52552271..b652cb00906 100644
--- a/fs/proc/proc_sysctl.c
+++ b/fs/proc/proc_sysctl.c
@@ -23,6 +23,8 @@ static struct inode *proc_sys_make_inode(struct super_block *sb,
23 if (!inode) 23 if (!inode)
24 goto out; 24 goto out;
25 25
26 inode->i_ino = get_next_ino();
27
26 sysctl_head_get(head); 28 sysctl_head_get(head);
27 ei = PROC_I(inode); 29 ei = PROC_I(inode);
28 ei->sysctl = head; 30 ei->sysctl = head;
diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c
index a5ebae70dc6..67fadb1ad2c 100644
--- a/fs/ramfs/inode.c
+++ b/fs/ramfs/inode.c
@@ -58,6 +58,7 @@ struct inode *ramfs_get_inode(struct super_block *sb,
58 struct inode * inode = new_inode(sb); 58 struct inode * inode = new_inode(sb);
59 59
60 if (inode) { 60 if (inode) {
61 inode->i_ino = get_next_ino();
61 inode_init_owner(inode, dir, mode); 62 inode_init_owner(inode, dir, mode);
62 inode->i_mapping->a_ops = &ramfs_aops; 63 inode->i_mapping->a_ops = &ramfs_aops;
63 inode->i_mapping->backing_dev_info = &ramfs_backing_dev_info; 64 inode->i_mapping->backing_dev_info = &ramfs_backing_dev_info;
diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c
index ba5312802aa..63fd2c07cb5 100644
--- a/fs/xfs/linux-2.6/xfs_buf.c
+++ b/fs/xfs/linux-2.6/xfs_buf.c
@@ -1580,6 +1580,7 @@ xfs_mapping_buftarg(
1580 XFS_BUFTARG_NAME(btp)); 1580 XFS_BUFTARG_NAME(btp));
1581 return ENOMEM; 1581 return ENOMEM;
1582 } 1582 }
1583 inode->i_ino = get_next_ino();
1583 inode->i_mode = S_IFBLK; 1584 inode->i_mode = S_IFBLK;
1584 inode->i_bdev = bdev; 1585 inode->i_bdev = bdev;
1585 inode->i_rdev = bdev->bd_dev; 1586 inode->i_rdev = bdev->bd_dev;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index bd6ae6c71fc..4a573cf13f5 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2191,6 +2191,7 @@ extern struct inode * iget_locked(struct super_block *, unsigned long);
2191extern int insert_inode_locked4(struct inode *, unsigned long, int (*test)(struct inode *, void *), void *); 2191extern int insert_inode_locked4(struct inode *, unsigned long, int (*test)(struct inode *, void *), void *);
2192extern int insert_inode_locked(struct inode *); 2192extern int insert_inode_locked(struct inode *);
2193extern void unlock_new_inode(struct inode *); 2193extern void unlock_new_inode(struct inode *);
2194extern unsigned int get_next_ino(void);
2194 2195
2195extern void __iget(struct inode * inode); 2196extern void __iget(struct inode * inode);
2196extern void iget_failed(struct inode *); 2197extern void iget_failed(struct inode *);
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index 80b35ffca25..3a61ffefe88 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -116,6 +116,7 @@ static struct inode *mqueue_get_inode(struct super_block *sb,
116 116
117 inode = new_inode(sb); 117 inode = new_inode(sb);
118 if (inode) { 118 if (inode) {
119 inode->i_ino = get_next_ino();
119 inode->i_mode = mode; 120 inode->i_mode = mode;
120 inode->i_uid = current_fsuid(); 121 inode->i_uid = current_fsuid();
121 inode->i_gid = current_fsgid(); 122 inode->i_gid = current_fsgid();
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 7b69b8d0313..9270d532ec3 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -777,6 +777,7 @@ static struct inode *cgroup_new_inode(mode_t mode, struct super_block *sb)
777 struct inode *inode = new_inode(sb); 777 struct inode *inode = new_inode(sb);
778 778
779 if (inode) { 779 if (inode) {
780 inode->i_ino = get_next_ino();
780 inode->i_mode = mode; 781 inode->i_mode = mode;
781 inode->i_uid = current_fsuid(); 782 inode->i_uid = current_fsuid();
782 inode->i_gid = current_fsgid(); 783 inode->i_gid = current_fsgid();
diff --git a/mm/shmem.c b/mm/shmem.c
index d4e2852526e..f6d350e8adc 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -1586,6 +1586,7 @@ static struct inode *shmem_get_inode(struct super_block *sb, const struct inode
1586 1586
1587 inode = new_inode(sb); 1587 inode = new_inode(sb);
1588 if (inode) { 1588 if (inode) {
1589 inode->i_ino = get_next_ino();
1589 inode_init_owner(inode, dir, mode); 1590 inode_init_owner(inode, dir, mode);
1590 inode->i_blocks = 0; 1591 inode->i_blocks = 0;
1591 inode->i_mapping->backing_dev_info = &shmem_backing_dev_info; 1592 inode->i_mapping->backing_dev_info = &shmem_backing_dev_info;
diff --git a/net/socket.c b/net/socket.c
index d223725f99e..5cac1c70775 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -480,6 +480,7 @@ static struct socket *sock_alloc(void)
480 sock = SOCKET_I(inode); 480 sock = SOCKET_I(inode);
481 481
482 kmemcheck_annotate_bitfield(sock, type); 482 kmemcheck_annotate_bitfield(sock, type);
483 inode->i_ino = get_next_ino();
483 inode->i_mode = S_IFSOCK | S_IRWXUGO; 484 inode->i_mode = S_IFSOCK | S_IRWXUGO;
484 inode->i_uid = current_fsuid(); 485 inode->i_uid = current_fsuid();
485 inode->i_gid = current_fsgid(); 486 inode->i_gid = current_fsgid();
diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
index 52f25243214..7df92d237cb 100644
--- a/net/sunrpc/rpc_pipe.c
+++ b/net/sunrpc/rpc_pipe.c
@@ -445,6 +445,7 @@ rpc_get_inode(struct super_block *sb, umode_t mode)
445 struct inode *inode = new_inode(sb); 445 struct inode *inode = new_inode(sb);
446 if (!inode) 446 if (!inode)
447 return NULL; 447 return NULL;
448 inode->i_ino = get_next_ino();
448 inode->i_mode = mode; 449 inode->i_mode = mode;
449 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; 450 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
450 switch(mode & S_IFMT) { 451 switch(mode & S_IFMT) {
diff --git a/security/inode.c b/security/inode.c
index 88839866cbc..cb8f47c66a5 100644
--- a/security/inode.c
+++ b/security/inode.c
@@ -61,6 +61,7 @@ static struct inode *get_inode(struct super_block *sb, int mode, dev_t dev)
61 struct inode *inode = new_inode(sb); 61 struct inode *inode = new_inode(sb);
62 62
63 if (inode) { 63 if (inode) {
64 inode->i_ino = get_next_ino();
64 inode->i_mode = mode; 65 inode->i_mode = mode;
65 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; 66 inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
66 switch (mode & S_IFMT) { 67 switch (mode & S_IFMT) {
diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c
index 87e0556bae7..55a755c1a1b 100644
--- a/security/selinux/selinuxfs.c
+++ b/security/selinux/selinuxfs.c
@@ -978,6 +978,7 @@ static struct inode *sel_make_inode(struct super_block *sb, int mode)
978 struct inode *ret = new_inode(sb); 978 struct inode *ret = new_inode(sb);
979 979
980 if (ret) { 980 if (ret) {
981 ret->i_ino = get_next_ino();
981 ret->i_mode = mode; 982 ret->i_mode = mode;
982 ret->i_atime = ret->i_mtime = ret->i_ctime = CURRENT_TIME; 983 ret->i_atime = ret->i_mtime = ret->i_ctime = CURRENT_TIME;
983 } 984 }