sigaction(2),sigwait(2),sigwaitinfo(2): Remove [EFAULT] error condition.

Passing an invalid pointer results in undefined behaviour.

The wrappers in libthr access some of the data pointed to by the arguments
in userland, so that an invalid pointer will cause a signal and not an
[EFAULT] error return.

Furthermore, if the [EFAULT] error occurs when the kernel is writing, it is
not a proper error in the sense that the call still commits (changing the
signal disposition or accepting the signal).

MFC after:	1 week
This commit is contained in:
Jilles Tjoelker 2012-09-27 17:48:04 +00:00
parent c8e781f6e0
commit b30cd8df7c
3 changed files with 3 additions and 16 deletions

View File

@ -28,7 +28,7 @@
.\" From: @(#)sigaction.2 8.2 (Berkeley) 4/3/94
.\" $FreeBSD$
.\"
.Dd April 18, 2010
.Dd September 27, 2012
.Dt SIGACTION 2
.Os
.Sh NAME
@ -586,13 +586,6 @@ system call
will fail and no new signal handler will be installed if one
of the following occurs:
.Bl -tag -width Er
.It Bq Er EFAULT
Either
.Fa act
or
.Fa oact
points to memory that is not a valid part of the process
address space.
.It Bq Er EINVAL
The
.Fa sig

View File

@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd August 24, 2011
.Dd September 27, 2012
.Dt SIGWAIT 2
.Os
.Sh NAME
@ -107,9 +107,6 @@ The
.Fa set
argument
specifies one or more invalid signal numbers.
.It Bq Er EFAULT
Any arguments point outside the allocated address space or there is a
memory protection fault.
.El
.Sh SEE ALSO
.Xr sigaction 2 ,

View File

@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd August 24, 2011
.Dd September 27, 2012
.Dt SIGTIMEDWAIT 2
.Os
.Sh NAME
@ -172,9 +172,6 @@ system calls fail if:
.Bl -tag -width Er
.It Bq Er EINTR
The wait was interrupted by an unblocked, caught signal.
.It Bq Er EFAULT
Any arguments point outside the allocated address space or there is a
memory protection fault.
.Pp
.El
The