diff --git a/[refs] b/[refs] index ca41fa8afbea..8a3b809af18f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f1ac9f6bfea6f21e8ab6dbbe46879d62a6fba8c0 +refs/heads/master: cb9179ead0aa0e3b7b4087cdba59baf16bbeef6d diff --git a/trunk/fs/namei.c b/trunk/fs/namei.c index 929f535fb225..e645e3070360 100644 --- a/trunk/fs/namei.c +++ b/trunk/fs/namei.c @@ -434,8 +434,12 @@ static int exec_permission_lite(struct inode *inode) { umode_t mode = inode->i_mode; - if (inode->i_op->permission) - return inode_permission(inode, MAY_EXEC); + if (inode->i_op->permission) { + int ret = inode->i_op->permission(inode, MAY_EXEC); + if (!ret) + goto ok; + return ret; + } if (current_fsuid() == inode->i_uid) mode >>= 6;