On Wed, Jan 24, 2001 at 10:42:16AM -0800, Guy Harris wrote:
> If you do want to work around the Linux bug, you'd probably have to send
> another ACCESS request over the wire, with the write bits turned off;
> I'm not sure whether that's worth the effort or not.

An alternative patch is

*** vfs.c.dist  Sun Dec 10 16:49:44 2000
--- vfs.c       Wed Jan 24 10:54:15 2001
***************
*** 448,454 ****
                        error = nfsd_permission(export, dentry, (map->how | 
NO_OWNER_OVERRIDE));
                        if (error == 0)
                                result |= map->access;
!                       else if ((error == nfserr_perm) || (error == nfserr_acces)) {
                                /*
                                 *  This access type is denyed; but the 
                                 *  access query itself succeeds.
--- 448,455 ----
                        error = nfsd_permission(export, dentry, (map->how | 
NO_OWNER_OVERRIDE));
                        if (error == 0)
                                result |= map->access;
!                       else if ((error == nfserr_perm) || (error == nfserr_acces) ||
!                           (error == nfserr_rofs)) {
                                /*
                                 *  This access type is denyed; but the 
                                 *  access query itself succeeds.

but you apply that one to the Linux NFS server code (in
"fs/nfsd/vfs.c"), which should fix the Linux server bug.  (I haven't
tried it, or compiled it, as my machine is currently running FreeBSD,
but I think it should, at least compile, and I expect it to solve the
problem.)


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-stable" in the body of the message

Reply via email to