On Tue, Aug 01, 2006 at 02:53:15PM -0400, Stephen Smalley wrote:
> > --- a/fs/inode.c
> > +++ b/fs/inode.c
> > @@ -133,7 +133,9 @@ #endif
> > inode->i_bdev = NULL;
> > inode->i_cdev = NULL;
> > inode->i_rdev = 0;
> > +#ifdef CONFIG_SECURITY
> > inode->i_security = NULL;
> > +#endif
>
> Possibly this should just be moved inside the security_inode_alloc
> static inlines?
Agree, it's better.
> > --- a/include/linux/fs.h
> > +++ b/include/linux/fs.h
> > @@ -552,7 +552,9 @@ struct inode {
> > unsigned int i_flags;
> >
> > atomic_t i_writecount;
> > +#ifdef CONFIG_SECURITY
> > void *i_security;
> > +#endif
> > union {
> > void *generic_ip;
> > } u;
> > @@ -688,8 +690,9 @@ struct file {
> > struct file_ra_state f_ra;
> >
> > unsigned long f_version;
> > +#ifdef CONFIG_SECURITY_SELINUX
>
> This should just be CONFIG_SECURITY.
After another user appear.
> > void *f_security;
> > -
> > +#endif
> > /* needed for tty driver, and maybe others */
> > void *private_data;
> >
> > @@ -877,7 +880,9 @@ struct super_block {
> > int s_syncing;
> > int s_need_sync_fs;
> > atomic_t s_active;
> > +#ifdef CONFIG_SECURITY_SELINUX
>
> Likewise.
After second user appear in tree.
> > void *s_security;
> > +#endif
[PATCH v2] fs.h: ifdef security fields
Signed-off-by: Alexey Dobriyan <[email protected]>
---
fs/inode.c | 1 -
include/linux/fs.h | 7 ++++++-
include/linux/security.h | 1 +
3 files changed, 7 insertions(+), 2 deletions(-)
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -133,7 +133,6 @@ #endif
inode->i_bdev = NULL;
inode->i_cdev = NULL;
inode->i_rdev = 0;
- inode->i_security = NULL;
inode->dirtied_when = 0;
if (security_inode_alloc(inode)) {
if (inode->i_sb->s_op->destroy_inode)
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -552,7 +552,9 @@ #endif
unsigned int i_flags;
atomic_t i_writecount;
+#ifdef CONFIG_SECURITY
void *i_security;
+#endif
union {
void *generic_ip;
} u;
@@ -688,8 +690,9 @@ struct file {
struct file_ra_state f_ra;
unsigned long f_version;
+#ifdef CONFIG_SECURITY_SELINUX
void *f_security;
-
+#endif
/* needed for tty driver, and maybe others */
void *private_data;
@@ -877,7 +880,9 @@ struct super_block {
int s_syncing;
int s_need_sync_fs;
atomic_t s_active;
+#ifdef CONFIG_SECURITY_SELINUX
void *s_security;
+#endif
struct xattr_handler **s_xattr;
struct list_head s_inodes; /* all inodes */
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -1537,6 +1537,7 @@ static inline void security_sb_post_pivo
static inline int security_inode_alloc (struct inode *inode)
{
+ inode->i_security = NULL;
return security_ops->inode_alloc_security (inode);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]