[PATCH v6 01/17] ima: Add IMA namespace support

Mimi Zohar zohar at linux.ibm.com
Wed Dec 15 19:41:21 UTC 2021


On Mon, 2021-12-13 at 16:11 -0500, Stefan Berger wrote:
> On 12/10/21 14:47, Stefan Berger wrote:
> > Implement an IMA namespace data structure that gets created alongside a
> > user namespace with CLONE_NEWUSER. This lays down the foundation for
> > namespacing the different aspects of IMA (eg. IMA-audit, IMA-measurement,
> > IMA-appraisal).
> >
> > Signed-off-by: Stefan Berger <stefanb at linux.ibm.com>
> > Suggested-by: James Bottomley <James.Bottomley at HansenPartnership.com>
> > ---
> >   include/linux/ima.h                      | 37 +++++++++++++
> >   include/linux/user_namespace.h           |  4 ++
> >   init/Kconfig                             | 10 ++++
> >   kernel/user.c                            |  7 +++
> >   kernel/user_namespace.c                  |  8 +++
> >   security/integrity/ima/Makefile          |  3 +-
> >   security/integrity/ima/ima.h             |  4 ++
> >   security/integrity/ima/ima_init.c        |  4 ++
> >   security/integrity/ima/ima_init_ima_ns.c | 32 +++++++++++
> >   security/integrity/ima/ima_ns.c          | 69 ++++++++++++++++++++++++
> >   10 files changed, 177 insertions(+), 1 deletion(-)
> >   create mode 100644 security/integrity/ima/ima_init_ima_ns.c
> >   create mode 100644 security/integrity/ima/ima_ns.c
> >
> > diff --git a/include/linux/ima.h b/include/linux/ima.h
> > index b6ab66a546ae..f282e40c316c 100644
> > --- a/include/linux/ima.h
> > +++ b/include/linux/ima.h
> > @@ -11,6 +11,7 @@
> >   #include <linux/fs.h>
> >   #include <linux/security.h>
> >   #include <linux/kexec.h>
> > +#include <linux/user_namespace.h>
> >   #include <crypto/hash_info.h>
> >   struct linux_binprm;
> >   
> > @@ -210,6 +211,42 @@ static inline int ima_inode_removexattr(struct dentry *dentry,
> >   }
> >   #endif /* CONFIG_IMA_APPRAISE */
> >   
> > +struct ima_namespace {
> > +	int avoid_zero_size;
> > +};
> 
> 
> I moved the structure to security/integrity/ima/ima.h for v7 and added 
> __randomize_layout to it.

Much better than being in the public ima.h.

thanks!

Mimi



More information about the Linux-security-module-archive mailing list