2004-11-29 11:15:07

by Tvrtko Ursulin

[permalink] [raw]
Subject: [BUG ?] smbfs open always succeeds

Hello,

I posted a possible bug report to the maintainer about 10 days ago but
with no response, therefore here it goes again. As far a I can tell it is
common for both 2.4 and 2.6.

Sorry if this is not a bug but some hidden functionality!

--- snippet from the original mail to the maintainer ---

Looking at linux-2.6.9/fs/smbfs/file.c line 365 (end of the smb_file_open
function). Shouldn't it be "return result;" instead of "return 0;" ?

I've been tracing some strange behaviour and this fixed it for me. But I
am far away from being an expert. :)



2004-11-30 15:27:16

by Tvrtko Ursulin

[permalink] [raw]
Subject: Re: [BUG ?] smbfs open always succeeds

>I posted a possible bug report to the maintainer about 10 days ago but
>with no response, therefore here it goes again. As far a I can tell it is
>common for both 2.4 and 2.6.
>
>Sorry if this is not a bug but some hidden functionality!
>
>--- snippet from the original mail to the maintainer ---
>
>Looking at linux-2.6.9/fs/smbfs/file.c line 365 (end of the smb_file_open
>function). Shouldn't it be "return result;" instead of "return 0;" ?
>
>I've been tracing some strange behaviour and this fixed it for me. But I
>am far away from being an expert. :)

I investigated a bit and found a nfs_open function at
linux-2.6.9/fs/nfs/inode.c line 906 which also always returns 0. So is
this a network filesystem way of handling opens and not a bug after all? I
am not sure though that both nfs and smbfs operate in the same way and am
not claiming that.

2004-11-30 15:44:24

by Linus Torvalds

[permalink] [raw]
Subject: Re: [BUG ?] smbfs open always succeeds



On Tue, 30 Nov 2004 [email protected] wrote:
>
> I investigated a bit and found a nfs_open function at
> linux-2.6.9/fs/nfs/inode.c line 906 which also always returns 0. So is
> this a network filesystem way of handling opens and not a bug after all? I
> am not sure though that both nfs and smbfs operate in the same way and am
> not claiming that.

Many networked filesystems end up doing most of the _real_ permissions
checking at IO time, not opens. That said, "open()" should return
definitive errors as early as possible, but sometimes you really have the
case that the real error only happens when you try to read or write
something.

Not saying that smbfs is right, just explaining that it _might_ be right.

Urban, did you see the thread?

Linus