[linux-cifs-client] [PATCH] [CIFS] Prevent OOPs when mounting with remote prefixpath

Steve French smfrench at gmail.com
Sun Feb 8 02:37:42 GMT 2009


Trying it just now, the patch causes an extra QueryPathInfo on every mount,
and presumably it can't be cached information since it doesn't use the
normal Unix vs. Non-Unix Query Path Info check and because we special cause
the lookup of the root inode.

On Sat, Feb 7, 2009 at 8:34 PM, Steve French <smfrench at gmail.com> wrote:

> Have to get rid of the "sparse" warning (CHECK   fs/cifs/connect.c
> fs/cifs/connect.c:2184:1: warning: symbol 'is_path_accessible' was not
> declared. Should it be static?)
>
> and also verify that this does not cause an extra QueryPathInfo on every
> mount in the normal path.
>
>
> On Wed, Feb 4, 2009 at 7:31 AM, Jeff Layton <jlayton at redhat.com> wrote:
>
>> On Wed, 04 Feb 2009 16:25:46 +0300
>> Igor Mammedov <niallain at gmail.com> wrote:
>>
>> > Patch with Jeff's suggestions is attached.
>> >
>> > Jeff Layton wrote:
>> > > On Wed, 04 Feb 2009 13:35:16 +0300
>> > ...
>> > >
>> > > Maybe something like:
>> > >
>> > >     cERROR(1, ("Path %s not accessable: %d", full_path, rc));
>> > >
>> > > ...of course, you'd need to not kfree full_path until after this is
>> > > printed but that's not too tough.
>> > >
>> > > Won't this error also fire when trying to mount with an inaccessable
>> > > prefixpath, even if DFS is involved? If so, then mentioning DFS in
>> > > the error is probably going to be confusing for users/admins.
>> > >
>> > > Actually, there's another problem too. If build_path_to_root ends up
>> > > returning NULL, then we'll just skip this check. Shouldn't we return
>> > > -ENOMEM or something at that point? It's probably better to fail the
>> > > mount than to leave the client subject to a later oops...
>> > >
>> >
>>
>> Looks good to me:
>>
>> Acked-by: Jeff Layton <jlayton at redhat.com>
>>
>
>
>
> --
> Thanks,
>
> Steve
>



-- 
Thanks,

Steve
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the linux-cifs-client mailing list