History

security: Fix security_old_inode_init_security() when CONFIG_SECURITY is not set

Commit 1e39f384bb01 ("evm: fix build problems") makes the stub version of security_old_inode_init_security() return 0 when CONFIG_SECURITY is not set. But that makes callers such as reiserfs_security_init() assume that security_old_inode_init_security() has set name, value, and len arguments properly - but security_old_inode_init_security() left them uninitialized which then results in interesting failures. Revert security_old_inode_init_security() to the old behavior of returning EOPNOTSUPP since both callers (reiserfs and ocfs2) handle this just fine. [ Also fixed the S_PRIVATE(inode) case of the actual non-stub security_old_inode_init_security() function to return EOPNOTSUPP for the same reason, as pointed out by Mimi Zohar. It got incorrectly changed to match the new function in commit fb88c2b6cbb1: "evm: fix security/security_old_init_security return code". - Linus ]

Jan Kara committed 14 years ago

Commit 30e05321 parent 4376eee2 files · +2 −2Browse files

Unified · Split

2 files
  1. include/linux/security.h +1 −1
  2. security/security.c +1 −1
include/linux/security.h+1−1
@@ -2056,7 +2056,7 @@ static inline int security_old_inode_init_security(struct inode *inode, · 2055 unmodified lines
2056 char **name, void **value,2056 char **name, void **value,
2057 size_t *len)2057 size_t *len)
2058{2058{
2059 return 0;2059 return -EOPNOTSUPP;
2060}2060}
2061 2061
2062static inline int security_inode_create(struct inode *dir,2062static inline int security_inode_create(struct inode *dir,
security/security.c+1−1
@@ -381,7 +381,7 @@ int security_old_inode_init_security(struct inode *inode, struct inode *dir, · 380 unmodified lines
381 void **value, size_t *len)381 void **value, size_t *len)
382{382{
383 if (unlikely(IS_PRIVATE(inode)))383 if (unlikely(IS_PRIVATE(inode)))
384 return 0;384 return -EOPNOTSUPP;
385 return security_ops->inode_init_security(inode, dir, qstr, name, value,385 return security_ops->inode_init_security(inode, dir, qstr, name, value,
386 len);386 len);
387}387}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t