From: Seth Forshee <seth.fors...@canonical.com>

The kernel should not calculate new hmacs for mounts done by
non-root users. Update evm_calc_hmac_or_hash() to refuse to
calculate new hmacs for mounts for non-init user namespaces.

Cc: linux-integr...@vger.kernel.org
Cc: linux-security-mod...@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: James Morris <james.l.mor...@oracle.com>
Cc: Mimi Zohar <zo...@linux.vnet.ibm.com>
Cc: "Serge E. Hallyn" <se...@hallyn.com>
Signed-off-by: Seth Forshee <seth.fors...@canonical.com>
Signed-off-by: Dongsu Park <don...@kinvolk.io>
---
 security/integrity/evm/evm_crypto.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/security/integrity/evm/evm_crypto.c 
b/security/integrity/evm/evm_crypto.c
index bcd64baf..729f4545 100644
--- a/security/integrity/evm/evm_crypto.c
+++ b/security/integrity/evm/evm_crypto.c
@@ -190,7 +190,8 @@ static int evm_calc_hmac_or_hash(struct dentry *dentry,
        int error;
        int size;
 
-       if (!(inode->i_opflags & IOP_XATTR))
+       if (!(inode->i_opflags & IOP_XATTR) ||
+           inode->i_sb->s_user_ns != &init_user_ns)
                return -EOPNOTSUPP;
 
        desc = init_desc(type);
-- 
2.13.6

Reply via email to