diff options
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index c55d6b7cd5d6..1c777878f1ea 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -208,6 +208,7 @@ struct inodes_stat_t { | |||
208 | #define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */ | 208 | #define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */ |
209 | #define MS_I_VERSION (1<<23) /* Update inode I_version field */ | 209 | #define MS_I_VERSION (1<<23) /* Update inode I_version field */ |
210 | #define MS_STRICTATIME (1<<24) /* Always perform atime updates */ | 210 | #define MS_STRICTATIME (1<<24) /* Always perform atime updates */ |
211 | #define MS_NOSEC (1<<28) | ||
211 | #define MS_BORN (1<<29) | 212 | #define MS_BORN (1<<29) |
212 | #define MS_ACTIVE (1<<30) | 213 | #define MS_ACTIVE (1<<30) |
213 | #define MS_NOUSER (1<<31) | 214 | #define MS_NOUSER (1<<31) |
@@ -743,9 +744,13 @@ struct inode { | |||
743 | 744 | ||
744 | spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */ | 745 | spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */ |
745 | unsigned int i_flags; | 746 | unsigned int i_flags; |
747 | unsigned int i_state; | ||
748 | #ifdef CONFIG_SECURITY | ||
749 | void *i_security; | ||
750 | #endif | ||
746 | struct mutex i_mutex; | 751 | struct mutex i_mutex; |
747 | 752 | ||
748 | unsigned long i_state; | 753 | |
749 | unsigned long dirtied_when; /* jiffies of first dirtying */ | 754 | unsigned long dirtied_when; /* jiffies of first dirtying */ |
750 | 755 | ||
751 | struct hlist_node i_hash; | 756 | struct hlist_node i_hash; |
@@ -797,9 +802,6 @@ struct inode { | |||
797 | atomic_t i_readcount; /* struct files open RO */ | 802 | atomic_t i_readcount; /* struct files open RO */ |
798 | #endif | 803 | #endif |
799 | atomic_t i_writecount; | 804 | atomic_t i_writecount; |
800 | #ifdef CONFIG_SECURITY | ||
801 | void *i_security; | ||
802 | #endif | ||
803 | #ifdef CONFIG_FS_POSIX_ACL | 805 | #ifdef CONFIG_FS_POSIX_ACL |
804 | struct posix_acl *i_acl; | 806 | struct posix_acl *i_acl; |
805 | struct posix_acl *i_default_acl; | 807 | struct posix_acl *i_default_acl; |
@@ -2591,7 +2593,7 @@ static inline int is_sxid(mode_t mode) | |||
2591 | 2593 | ||
2592 | static inline void inode_has_no_xattr(struct inode *inode) | 2594 | static inline void inode_has_no_xattr(struct inode *inode) |
2593 | { | 2595 | { |
2594 | if (!is_sxid(inode->i_mode)) | 2596 | if (!is_sxid(inode->i_mode) && (inode->i_sb->s_flags & MS_NOSEC)) |
2595 | inode->i_flags |= S_NOSEC; | 2597 | inode->i_flags |= S_NOSEC; |
2596 | } | 2598 | } |
2597 | 2599 | ||