@@ -1602,11 +1602,6 @@ struct super_block {
|
||||
struct list_head s_inodes_wb; /* writeback inodes */
|
||||
} __randomize_layout;
|
||||
|
||||
static inline struct user_namespace *i_user_ns(const struct inode *inode)
|
||||
{
|
||||
return inode->i_sb->s_user_ns;
|
||||
}
|
||||
|
||||
/* Helper functions so that in most cases filesystems will
|
||||
* not need to deal directly with kuid_t and kgid_t and can
|
||||
* instead deal with the raw numeric values that are stored
|
||||
@@ -1614,22 +1609,22 @@ static inline struct user_namespace *i_user_ns(const struct inode *inode)
|
||||
*/
|
||||
static inline uid_t i_uid_read(const struct inode *inode)
|
||||
{
|
||||
return from_kuid(i_user_ns(inode), inode->i_uid);
|
||||
return from_kuid(inode->i_sb->s_user_ns, inode->i_uid);
|
||||
}
|
||||
|
||||
static inline gid_t i_gid_read(const struct inode *inode)
|
||||
{
|
||||
return from_kgid(i_user_ns(inode), inode->i_gid);
|
||||
return from_kgid(inode->i_sb->s_user_ns, inode->i_gid);
|
||||
}
|
||||
|
||||
static inline void i_uid_write(struct inode *inode, uid_t uid)
|
||||
{
|
||||
inode->i_uid = make_kuid(i_user_ns(inode), uid);
|
||||
inode->i_uid = make_kuid(inode->i_sb->s_user_ns, uid);
|
||||
}
|
||||
|
||||
static inline void i_gid_write(struct inode *inode, gid_t gid)
|
||||
{
|
||||
inode->i_gid = make_kgid(i_user_ns(inode), gid);
|
||||
inode->i_gid = make_kgid(inode->i_sb->s_user_ns, gid);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user