lkml.org 
[lkml]   [2010]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 07/15] evm: imbed evm_inode_post_setattr
    Date
    Changing the inode's metadata may require the 'security.evm' extended
    attribute to be re-calculated and updated.

    Signed-off-by: Mimi Zohar <zohar@us.ibm.com>
    Acked-by: Serge Hallyn <serue@us.ibm.com>
    ---
    fs/attr.c | 5 ++++-
    include/linux/evm.h | 6 ++++++
    2 files changed, 10 insertions(+), 1 deletions(-)

    diff --git a/fs/attr.c b/fs/attr.c
    index b4fa3b0..9293710 100644
    --- a/fs/attr.c
    +++ b/fs/attr.c
    @@ -13,6 +13,7 @@
    #include <linux/fsnotify.h>
    #include <linux/fcntl.h>
    #include <linux/security.h>
    +#include <linux/evm.h>

    /* Taken over from the old code... */

    @@ -248,8 +249,10 @@ int notify_change(struct dentry * dentry, struct iattr * attr)
    if (ia_valid & ATTR_SIZE)
    up_write(&dentry->d_inode->i_alloc_sem);

    - if (!error)
    + if (!error) {
    fsnotify_change(dentry, ia_valid);
    + evm_inode_post_setattr(dentry, ia_valid);
    + }

    return error;
    }
    diff --git a/include/linux/evm.h b/include/linux/evm.h
    index a730782..33a9247 100644
    --- a/include/linux/evm.h
    +++ b/include/linux/evm.h
    @@ -15,6 +15,7 @@ extern enum integrity_status evm_verifyxattr(struct dentry *dentry,
    const char *xattr_name,
    void *xattr_value,
    size_t xattr_value_len);
    +extern void evm_inode_post_setattr(struct dentry *dentry, int ia_valid);
    extern int evm_inode_setxattr(struct dentry *dentry, const char *name,
    const void *value, size_t size);
    extern void evm_inode_post_setxattr(struct dentry *dentry,
    @@ -35,6 +36,11 @@ static inline enum integrity_status evm_verifyxattr(struct dentry *dentry,
    }
    #endif

    +static inline void evm_inode_post_setattr(struct dentry *dentry, int ia_valid)
    +{
    + return;
    +}
    +
    static inline int evm_inode_setxattr(struct dentry *dentry, const char *name,
    const void *value, size_t size)
    {
    --
    1.7.1.1


    \
     
     \ /
      Last update: 2010-07-30 17:49    [W:0.020 / U:123.832 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site