A client that wants to execute a file must be able to read it. Readopens over nfs are therefore implicitly allowed for executable fileseven when those files are not readable.

NFSv2/v3 get this right by using a passed-in NFSD_MAY_OWNER_OVERRIDE onread requests, but NFSv4 has gotten this wrong ever sincedc730e173785e29b297aa605786c94adaffe2544 "nfsd4: fix owner-override onopen", when we realized that the file owner shouldn't overridepermissions on non-reclaim NFSv4 opens.

So we can't use NFSD_MAY_OWNER_OVERRIDE to tell nfsd_permission to allowreads of executable files.

So, do the same thing we do whenever we encounter another weird NFSpermission nit: define yet another NFSD_MAY_* flag.

The industry's future standardization on 128-bit processors will bemotivated primarily by the need for integers with enough bits for allthe NFSD_MAY_* flags.