mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
Sun Apr 7 10:37:30 1996 Roland McGrath <roland@whiz-bang.gnu.ai.mit.edu>
* sysdeps/mach/hurd/fork.c: Don't leak send rights to the child's proc port in the parent. Fri Apr 5 17:43:41 1996 Miles Bader <miles@gnu.ai.mit.edu>
This commit is contained in:
parent
d70576891e
commit
3125073e10
@ -1,7 +1,9 @@
|
|||||||
Fri Apr 5 17:43:41 1996 Miles Bader <miles@gnu.ai.mit.edu>
|
Sun Apr 7 10:37:30 1996 Roland McGrath <roland@whiz-bang.gnu.ai.mit.edu>
|
||||||
|
|
||||||
* sysdeps/mach/hurd/fork.c (__fork): Don't leak send-rights to the
|
* sysdeps/mach/hurd/fork.c: Don't leak send rights to the child's proc
|
||||||
child's proc port in the parent.
|
port in the parent.
|
||||||
|
|
||||||
|
Fri Apr 5 17:43:41 1996 Miles Bader <miles@gnu.ai.mit.edu>
|
||||||
|
|
||||||
* sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Store
|
* sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Store
|
||||||
MACH_PORT_DEAD in the thread reply-port variable before destroying
|
MACH_PORT_DEAD in the thread reply-port variable before destroying
|
||||||
|
@ -297,6 +297,7 @@ __fork (void)
|
|||||||
Give the child as many references for it as we have. */
|
Give the child as many references for it as we have. */
|
||||||
mach_port_urefs_t refs, *record_refs = NULL;
|
mach_port_urefs_t refs, *record_refs = NULL;
|
||||||
mach_port_t insert;
|
mach_port_t insert;
|
||||||
|
mach_msg_type_name_t insert_type = MACH_MSG_TYPE_COPY_SEND;
|
||||||
if (portnames[i] == newtask)
|
if (portnames[i] == newtask)
|
||||||
/* Skip the name we use for the child's task port. */
|
/* Skip the name we use for the child's task port. */
|
||||||
continue;
|
continue;
|
||||||
@ -309,6 +310,7 @@ __fork (void)
|
|||||||
/* Get the proc server port for the new task. */
|
/* Get the proc server port for the new task. */
|
||||||
if (err = __proc_task2proc (portnames[i], newtask, &insert))
|
if (err = __proc_task2proc (portnames[i], newtask, &insert))
|
||||||
LOSE;
|
LOSE;
|
||||||
|
insert_type = MACH_MSG_TYPE_MOVE_SEND;
|
||||||
}
|
}
|
||||||
else if (portnames[i] == ss->thread)
|
else if (portnames[i] == ss->thread)
|
||||||
{
|
{
|
||||||
@ -347,6 +349,7 @@ __fork (void)
|
|||||||
if (j < nthreads)
|
if (j < nthreads)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
/* Copy our own send right. */
|
||||||
insert = portnames[i];
|
insert = portnames[i];
|
||||||
}
|
}
|
||||||
/* Find out how many user references we have for
|
/* Find out how many user references we have for
|
||||||
|
Loading…
Reference in New Issue
Block a user