l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: On PATH_MAX


From: Marcus Brinkmann
Subject: Re: On PATH_MAX
Date: Thu, 03 Nov 2005 18:06:18 +0100
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.7 (Sanjō) APEL/10.6 Emacs/21.4 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI)

At Thu, 3 Nov 2005 09:58:01 -0700,
"Christopher Nelson" <address@hidden> wrote:
> 
> > "Alfred M\. Szmidt" <address@hidden> writes:
> > 
> > > Make it possible to set the amount a user is able to 
> > allocate instead 
> > > of setting any kind of static limit that is impossible to get away 
> > > from without recompiling the whole system.
> > >
> > > Arbitrary limits are poor software design, and have always been.
> > 
> > I tend to agree here.  :-)
> > 
> > Whether the OS architect likes it or not, applications that 
> > use the file system the way GNU Arch does _do_ exist.  And 
> > it's not up to the OS architect to decide whether they should 
> > exist at all.
> 

> If you want an operating system that let's you do whatever you want,
> you should just stick with DOS. ;-) More seriously, if you wish to
> be actively hostile, what is stopping you from creating a path as
> large as available memory and passing it across the protection
> boundary?  Such an act would cause severe denial of resource as the
> system thrashes it's swap and spends quite a long time parsing and
> breaking down the path.  It would likely cause the receiver to fail.
> Even if the receiver restarts, the hostile app could wait for it to
> come back and retry the same operation.  Supporting arbitrarily
> large messages of that sort are dangerous in a silly way.  A
> reasonable limit is necessary.

It's not dangerous if I don't pass the path as a string, but the
resource containing the path.  And the resource containing the
scheduling time to process the path ;)

In other words: It is all a matter of what your trust boundaries are,
how your communication protocols look like, and what operations you
perform.

To say that the one or the other is stupid is just plain wrong.

Sometimes you should support dynamic reallocation.  Sometimes you
should have a fixed buffer and truncate.  You should not limit your
toolset because of some half-cooked and (generally) _wrong_
programming dogmas.

Thanks,
Marcus





reply via email to

[Prev in Thread] Current Thread [Next in Thread]