aboutsummaryrefslogtreecommitdiffstats
path: root/security/security.c
diff options
context:
space:
mode:
Diffstat (limited to 'security/security.c')
-rw-r--r--security/security.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/security/security.c b/security/security.c
index 94b35aef6871..4dc31f4f2700 100644
--- a/security/security.c
+++ b/security/security.c
@@ -348,10 +348,10 @@ int security_inode_init_security(struct inode *inode, struct inode *dir,
348 if (unlikely(IS_PRIVATE(inode))) 348 if (unlikely(IS_PRIVATE(inode)))
349 return 0; 349 return 0;
350 350
351 memset(new_xattrs, 0, sizeof new_xattrs);
352 if (!initxattrs) 351 if (!initxattrs)
353 return security_ops->inode_init_security(inode, dir, qstr, 352 return security_ops->inode_init_security(inode, dir, qstr,
354 NULL, NULL, NULL); 353 NULL, NULL, NULL);
354 memset(new_xattrs, 0, sizeof(new_xattrs));
355 lsm_xattr = new_xattrs; 355 lsm_xattr = new_xattrs;
356 ret = security_ops->inode_init_security(inode, dir, qstr, 356 ret = security_ops->inode_init_security(inode, dir, qstr,
357 &lsm_xattr->name, 357 &lsm_xattr->name,
@@ -366,16 +366,14 @@ int security_inode_init_security(struct inode *inode, struct inode *dir,
366 goto out; 366 goto out;
367 ret = initxattrs(inode, new_xattrs, fs_data); 367 ret = initxattrs(inode, new_xattrs, fs_data);
368out: 368out:
369 for (xattr = new_xattrs; xattr->name != NULL; xattr++) { 369 for (xattr = new_xattrs; xattr->value != NULL; xattr++)
370 kfree(xattr->name);
371 kfree(xattr->value); 370 kfree(xattr->value);
372 }
373 return (ret == -EOPNOTSUPP) ? 0 : ret; 371 return (ret == -EOPNOTSUPP) ? 0 : ret;
374} 372}
375EXPORT_SYMBOL(security_inode_init_security); 373EXPORT_SYMBOL(security_inode_init_security);
376 374
377int security_old_inode_init_security(struct inode *inode, struct inode *dir, 375int security_old_inode_init_security(struct inode *inode, struct inode *dir,
378 const struct qstr *qstr, char **name, 376 const struct qstr *qstr, const char **name,
379 void **value, size_t *len) 377 void **value, size_t *len)
380{ 378{
381 if (unlikely(IS_PRIVATE(inode))) 379 if (unlikely(IS_PRIVATE(inode)))