X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=security%2Fsecurity.c;h=739e40362f44fab2a8fa4a0f4b1310ec14f8bb65;hb=40c1001792de63e0f90e977eb05393fd71f78692;hp=1b798d3df71057720d799f5d3e1382880fde8f78;hpb=dda5f0a372873bca5f0b1d1866d7784dffd8b675;p=~andy%2Flinux diff --git a/security/security.c b/security/security.c index 1b798d3df71..739e40362f4 100644 --- a/security/security.c +++ b/security/security.c @@ -513,6 +513,15 @@ int security_inode_permission(struct inode *inode, int mask) return security_ops->inode_permission(inode, mask); } +int security_inode_exec_permission(struct inode *inode, unsigned int flags) +{ + if (unlikely(IS_PRIVATE(inode))) + return 0; + if (flags) + return -ECHILD; + return security_ops->inode_permission(inode, MAY_EXEC); +} + int security_inode_setattr(struct dentry *dentry, struct iattr *attr) { if (unlikely(IS_PRIVATE(dentry->d_inode))) @@ -977,8 +986,7 @@ EXPORT_SYMBOL(security_inode_getsecctx); #ifdef CONFIG_SECURITY_NETWORK -int security_unix_stream_connect(struct socket *sock, struct socket *other, - struct sock *newsk) +int security_unix_stream_connect(struct sock *sock, struct sock *other, struct sock *newsk) { return security_ops->unix_stream_connect(sock, other, newsk); }