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 --- |