On 08/26/2010 09:55 PM, Steve French wrote:
> This is a good one to go upstream soon - if others critical to go
> upstream soon let me know.

Do we need to Cc -stable as well? I don't feel strongly that we should
include this fix. However, unrelated memory allocation errors during
mount in supported kernels sounds more than annoying..

Thoughts?


> On Thu, Aug 26, 2010 at 7:23 AM, Jeff Layton <[email protected]> wrote:
>> On Thu, 26 Aug 2010 14:46:09 +0530
>> Suresh Jayaraman <[email protected]> wrote:
>>
>>> On 08/26/2010 01:56 AM, joe hefner wrote:
>>>> On a recent Fedora (13), I am seeing a mount failure message that I can 
>>>> not explain. I have a Windows Server 2003�a with a share set up for access 
>>>> only for a specific username (say userfoo). If I try to mount it from 
>>>> Linux,�using userfoo and the correct password all is well. If I try with a 
>>>> bad password or with some other username (userbar), it fails with 
>>>> "Permission denied" as expected. If I try to mount as username = 
>>>> administrator, and give the correct administrator password, I would also 
>>>> expect "Permission denied", but I see "Cannot allocate memory" instead.
>>>> �
>>>> dmesg and /var/log/messages show an odd�entry about failure to get root 
>>>> inode. Setting cifsFYI shows that errno 13 is being seen on the client 
>>>> side, but then this�inode error occurs.
>>>> �
>>>> Has anyone seen this? Any ideas what is happening?
>>>> �
>>>> Thanks, Joe H.
>>>> �
>>>> �fs/cifs/netmisc.c: Mapping smb error code 5 to POSIX err -13
>>>> �fs/cifs/cifssmb.c: Send error in QPathInfo = -13
>>>> �CIFS VFS: cifs_read_super: get root inode failed
>>>> �fs/cifs/connect.c: CIFS VFS: in cifs_put_tcon as Xid: 44322319 with uid: 0
>>>> �fs/cifs/cifssmb.c: In tree disconnect
>>>> �fs/cifs/transport.c: For smb_command 113
>>>> �fs/cifs/transport.c: Sending smb:� total_len 39
>>>> �fs/cifs/connect.c: rfc1002 length 0x27
>>>> �fs/cifs/connect.c: CIFS VFS: in cifs_put_smb_ses as Xid: 44322320 with 
>>>> uid: 0
>>>> �fs/cifs/cifssmb.c: In SMBLogoff for session disconnect
>>>> �fs/cifs/transport.c: For smb_command 116
>>>> �fs/cifs/transport.c: Sending smb:� total_len 43
>>>> �fs/cifs/connect.c: rfc1002 length 0x2b
>>>>
>>>
>>> Looks like the commit 0b8f18e3 assumed that cifs_get_inode_info() and
>>> friends fail only due to memory allocation error when the inode is NULL
>>> which is not the case if CIFSSMBQPathInfo() fails and returns an error.
>>> Fix this by propagating the actual error code back.
>>>
>>> Cc: Jeff Layton <[email protected]>
>>> Signed-off-by: Suresh Jayaraman <[email protected]>
>>> ---
>>> �fs/cifs/inode.c | � �2 +-
>>> �1 files changed, 1 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
>>> index 4bc47e5..86a164f 100644
>>> --- a/fs/cifs/inode.c
>>> +++ b/fs/cifs/inode.c
>>> @@ -834,7 +834,7 @@ struct inode *cifs_root_iget(struct super_block *sb, 
>>> unsigned long ino)
>>> � � � � � � � � � � � � � � � � � � � � � � � xid, NULL);
>>>
>>> � � � if (!inode)
>>> - � � � � � � return ERR_PTR(-ENOMEM);
>>> + � � � � � � return ERR_PTR(rc);
>>>
>>> �#ifdef CONFIG_CIFS_FSCACHE
>>> � � � /* populate tcon->resource_id */
>>
>> Good catch.
>>
>> Acked-by: Jeff Layton <[email protected]>
>>
> 
> 
> 


-- 
Suresh Jayaraman
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to