[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4790FA23.90706@redhat.com>
Date: Fri, 18 Jan 2008 14:12:35 -0500
From: Peter Staubach <staubach@...hat.com>
To: "J. Bruce Fields" <bfields@...ldses.org>
CC: Chuck Lever <chuck.lever@...cle.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-nfs@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Trond Myklebust <trond.myklebust@....uio.no>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: [PATCH 0/3] enhanced ESTALE error handling
J. Bruce Fields wrote:
> On Fri, Jan 18, 2008 at 01:12:03PM -0500, Peter Staubach wrote:
>
>> Chuck Lever wrote:
>>
>>> On Jan 18, 2008, at 12:30 PM, Peter Staubach wrote:
>>>
>>>> I can probably imagine a situation where the pathname resolution
>>>> would never finish, but I am not sure that it could ever happen
>>>> in nature.
>>>>
>>> Unless someone is doing something malicious. Or if the server is
>>> repeatedly returning ESTALE for some reason.
>>>
>>>
>> If the server is repeatedly returning ESTALE, then the pathname
>> resolution will fail to make progress and give up, return ENOENT
>> to the user level.
>>
>> A malicious user on the network can cause so many other problems
>> than just something like this too. But, in this case, the user
>> would have to predict why and when the client was issuing a
>> specific operation and know whether or not to return ESTALE.
>> This seems quite far fetched and quite unlikely to me.
>>
>
> Any idea what the consequences would be in this case? It at least
> shouldn't overflow the stack, or freeze the whole machine (because it
> spins indefinitely under some crucial lock), or panic, etc. (If the one
> filesystem just becomes unusable--well, fine, what better can you hope
> for in the presence of a malicious server or network?)
Assuming that such a user could precisely and accurately predict
when to return ESTALE, the particular system call would just stay
in the kernel, sending out requests to the NFS server.
It wouldn't overflow the stack because the recovery is done by
looping and not by recursion and unless there is a bug that needs
to be fixed, all necessary resources are released before the
retries occur. The machine wouldn't freeze because as soon as
the request is sent, the process blocks and some other process
can be scheduled. The process should be interruptible, so even
it could be signaled to stop the activity.
It seems to me that mostly, the file system will become unusable,
but as Bruce points out, what do you expect in the presence of a
malicious entity? If such are a concern, then measures such as
stronger security can be employed to prevent them from wreaking
havoc.
Thanx...
ps
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists