Subject: Re: signal(SIGSEGV, SIG_IGN) -> 100% CPU
To: Andrew Brown <atatat@atatdot.net>
From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
List: tech-kern
Date: 06/14/1999 17:16:10
On Mon, Jun 14, 1999 at 11:10:05AM -0400, Andrew Brown wrote:
> >> If `fixing it' means calling socketpair() from userspace and doing any
> >> necessary frobbing there, it actually means *reducing* kernel size (...and
> >> relegating pipe(2) to COMPAT_14).
> >
> >pipe(2) is defined to be one-way. socketpair(2) creates a two-way pipe.
> >
> >I didn't find any obvious way in the manual page to suppress one of the ways.
> >Hm. The libc wrapper could partially shutdown(2) the ends, I guess....
> 
> would that even matter?  if you get back a two-way pipe, it can still
> be used as a one-way pipe.

yes. But it can be used the other way round, and I'm sure that there is
an application round there that depends on back direction being blocked.

> for that matter...i still don't see the harm in making the kernel
> copyout() the pipe fds.  how would that not solve the problem (besides
> losing a little history)?

it would enlarge the kernel... removing sys_pipe will make it smaller ;-)

	-is