selinux: change sel_make_dir() to specify inode counter.
Specify the inode counter explicitly in sel_make_dir(), rather than always using sel_last_ino. Signed-off-by: Christopher J. PeBenito <cpebenito@tresys.com> Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
committed by
James Morris
parent
0c92d7c73b
commit
0dd4ae516e
@@ -1293,7 +1293,8 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sel_make_dir(struct inode *dir, struct dentry *dentry)
|
static int sel_make_dir(struct inode *dir, struct dentry *dentry,
|
||||||
|
unsigned long *ino)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct inode *inode;
|
struct inode *inode;
|
||||||
@@ -1305,7 +1306,7 @@ static int sel_make_dir(struct inode *dir, struct dentry *dentry)
|
|||||||
}
|
}
|
||||||
inode->i_op = &simple_dir_inode_operations;
|
inode->i_op = &simple_dir_inode_operations;
|
||||||
inode->i_fop = &simple_dir_operations;
|
inode->i_fop = &simple_dir_operations;
|
||||||
inode->i_ino = ++sel_last_ino;
|
inode->i_ino = ++(*ino);
|
||||||
/* directory inodes start off with i_nlink == 2 (for "." entry) */
|
/* directory inodes start off with i_nlink == 2 (for "." entry) */
|
||||||
inc_nlink(inode);
|
inc_nlink(inode);
|
||||||
d_add(dentry, inode);
|
d_add(dentry, inode);
|
||||||
@@ -1351,7 +1352,7 @@ static int sel_fill_super(struct super_block * sb, void * data, int silent)
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = sel_make_dir(root_inode, dentry);
|
ret = sel_make_dir(root_inode, dentry, &sel_last_ino);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
@@ -1384,7 +1385,7 @@ static int sel_fill_super(struct super_block * sb, void * data, int silent)
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = sel_make_dir(root_inode, dentry);
|
ret = sel_make_dir(root_inode, dentry, &sel_last_ino);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
@@ -1398,7 +1399,7 @@ static int sel_fill_super(struct super_block * sb, void * data, int silent)
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = sel_make_dir(root_inode, dentry);
|
ret = sel_make_dir(root_inode, dentry, &sel_last_ino);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user