Coda File System

Re: coda breaks sometimes on symlinks in long pathnames

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Wed, 24 Oct 2001 15:38:10 -0400
On Sat, Oct 20, 2001 at 07:02:26PM +0200, Ivan Popov wrote:
> The pathnames of both binaries and wrappers are about 60-90 characters, 10
> to 15 levels deep.

There are limits for symlink traversal, both in Coda and imposed by the
linux kernel. Recently a linux-kernel denial of service bug was fixed
where a certain combination of crafted symlinks could keep a kernel
locked up and busy to the point of it being unusable.

> One strange thing is that if I put a symlink somewhere in the path:
> 
> /coda/a.../b.../c..../name/d..../e..../f..../wrapper
> 
>  change to
> 
> /coda/a.../b.../c..../name1/d..../e..../f..../wrapper
>  and make a link
> /coda/a.../b.../c..../name -> name1
> 
> then the first path "works as it should", but I get a very high (20 to
> 100%), indeterministic failure rate (exec: file not found, exec: bad
> interpreter, no such file or directory).

Well you just increased the traversal depth by one, why it becomes
indeterministic I don't know. I would expect either consistent success
or consistent failure during traversal.


> Any ideas? (I suppose it is a weird combination of kernel actions
> while starting interpreters and venus<-->kernel race conditions...)

Possibly, or perhaps the VM system is randomly failing on us while
pulling the links into the kernel. Any 'order-0 allocation failures' in
the dmesg output?

Jan
Received on 2001-10-24 15:38:22