security.c (72b3897e78107c54e3e5a98bdb316dafcd818f97) security.c (e61b135f7bfe47f547fb566328a97ca8baa3548c)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Security plug functions
4 *
5 * Copyright (C) 2001 WireX Communications, Inc <chris@wirex.com>
6 * Copyright (C) 2001-2002 Greg Kroah-Hartman <greg@kroah.com>
7 * Copyright (C) 2001 Networks Associates Technology, Inc <ssmalley@nai.com>
8 * Copyright (C) 2016 Mellanox Technologies

--- 1362 unchanged lines hidden (view full) ---

1371 return ret;
1372 return evm_inode_setxattr(mnt_userns, dentry, name, value, size);
1373}
1374
1375int security_inode_set_acl(struct user_namespace *mnt_userns,
1376 struct dentry *dentry, const char *acl_name,
1377 struct posix_acl *kacl)
1378{
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Security plug functions
4 *
5 * Copyright (C) 2001 WireX Communications, Inc <chris@wirex.com>
6 * Copyright (C) 2001-2002 Greg Kroah-Hartman <greg@kroah.com>
7 * Copyright (C) 2001 Networks Associates Technology, Inc <ssmalley@nai.com>
8 * Copyright (C) 2016 Mellanox Technologies

--- 1362 unchanged lines hidden (view full) ---

1371 return ret;
1372 return evm_inode_setxattr(mnt_userns, dentry, name, value, size);
1373}
1374
1375int security_inode_set_acl(struct user_namespace *mnt_userns,
1376 struct dentry *dentry, const char *acl_name,
1377 struct posix_acl *kacl)
1378{
1379 int ret;
1380
1379 if (unlikely(IS_PRIVATE(d_backing_inode(dentry))))
1380 return 0;
1381 if (unlikely(IS_PRIVATE(d_backing_inode(dentry))))
1382 return 0;
1381 return call_int_hook(inode_set_acl, 0, mnt_userns, dentry, acl_name, kacl);
1383 ret = call_int_hook(inode_set_acl, 0, mnt_userns, dentry, acl_name,
1384 kacl);
1385 if (ret)
1386 return ret;
1387 ret = ima_inode_set_acl(mnt_userns, dentry, acl_name, kacl);
1388 if (ret)
1389 return ret;
1390 return evm_inode_set_acl(mnt_userns, dentry, acl_name, kacl);
1382}
1383
1384int security_inode_get_acl(struct user_namespace *mnt_userns,
1385 struct dentry *dentry, const char *acl_name)
1386{
1387 if (unlikely(IS_PRIVATE(d_backing_inode(dentry))))
1388 return 0;
1389 return call_int_hook(inode_get_acl, 0, mnt_userns, dentry, acl_name);
1390}
1391
1392int security_inode_remove_acl(struct user_namespace *mnt_userns,
1393 struct dentry *dentry, const char *acl_name)
1394{
1391}
1392
1393int security_inode_get_acl(struct user_namespace *mnt_userns,
1394 struct dentry *dentry, const char *acl_name)
1395{
1396 if (unlikely(IS_PRIVATE(d_backing_inode(dentry))))
1397 return 0;
1398 return call_int_hook(inode_get_acl, 0, mnt_userns, dentry, acl_name);
1399}
1400
1401int security_inode_remove_acl(struct user_namespace *mnt_userns,
1402 struct dentry *dentry, const char *acl_name)
1403{
1404 int ret;
1405
1395 if (unlikely(IS_PRIVATE(d_backing_inode(dentry))))
1396 return 0;
1406 if (unlikely(IS_PRIVATE(d_backing_inode(dentry))))
1407 return 0;
1397 return call_int_hook(inode_remove_acl, 0, mnt_userns, dentry, acl_name);
1408 ret = call_int_hook(inode_remove_acl, 0, mnt_userns, dentry, acl_name);
1409 if (ret)
1410 return ret;
1411 ret = ima_inode_remove_acl(mnt_userns, dentry, acl_name);
1412 if (ret)
1413 return ret;
1414 return evm_inode_remove_acl(mnt_userns, dentry, acl_name);
1398}
1399
1400void security_inode_post_setxattr(struct dentry *dentry, const char *name,
1401 const void *value, size_t size, int flags)
1402{
1403 if (unlikely(IS_PRIVATE(d_backing_inode(dentry))))
1404 return;
1405 call_void_hook(inode_post_setxattr, dentry, name, value, size, flags);

--- 1294 unchanged lines hidden ---
1415}
1416
1417void security_inode_post_setxattr(struct dentry *dentry, const char *name,
1418 const void *value, size_t size, int flags)
1419{
1420 if (unlikely(IS_PRIVATE(d_backing_inode(dentry))))
1421 return;
1422 call_void_hook(inode_post_setxattr, dentry, name, value, size, flags);

--- 1294 unchanged lines hidden ---