|
@@ -2116,7 +2116,8 @@ nfsd_permission(struct svc_rqst *rqstp, struct svc_export *exp,
|
|
|
|
|
|
/* Allow read access to binaries even when mode 111 */
|
|
/* Allow read access to binaries even when mode 111 */
|
|
if (err == -EACCES && S_ISREG(inode->i_mode) &&
|
|
if (err == -EACCES && S_ISREG(inode->i_mode) &&
|
|
- acc == (NFSD_MAY_READ | NFSD_MAY_OWNER_OVERRIDE))
|
|
|
|
|
|
+ (acc == (NFSD_MAY_READ | NFSD_MAY_OWNER_OVERRIDE) ||
|
|
|
|
+ acc == (NFSD_MAY_READ | NFSD_MAY_READ_IF_EXEC)))
|
|
err = inode_permission(inode, MAY_EXEC);
|
|
err = inode_permission(inode, MAY_EXEC);
|
|
|
|
|
|
return err? nfserrno(err) : 0;
|
|
return err? nfserrno(err) : 0;
|