[PATCH v2] fs.h: ifdef security fields

From: Alexey Dobriyan
Date: Wed Aug 02 2006 - 11:13:01 EST


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 <adobriyan@xxxxxxxxx>
---

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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/