NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/37732: i386 fork() fails on fs register not being zero; fs register not preserved?
>Number: 37732
>Category: kern
>Synopsis: i386 fork() fails on fs register not being zero; fs register
>not preserved?
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Jan 09 23:05:00 +0000 2008
>Originator: Reinoud Zandijk
>Release: 4.99.42
>Organization:
NetBSD
>Environment:
NetBSD heethoofdje.13thmonkey.org 4.99.42 NetBSD 4.99.42 (GENERIC) #2: Sat Dec
15 16:03:07 CET 2007
root%heethoofdje.13thmonkey.org@localhost:/usr/sources/cvs.netbsd.org/src/sys/arch/i386/compile/GENERIC
i386
>Description:
When debugging pkgsrc/emulators/wine it turns out that when the %fs flag is not
set to zero, the child of fork() will coredump. Explicit setting of this
register to zero before fork() doesn't coredump anymore though wine won't run
on.
What happends i think is that the segment register %fs is not preserved or can
have wierd side-effects.
>How-To-Repeat:
Set %fs segment register to non-zero or some random value and fork(). The
child() will panic in __fork()
>Fix:
Most likely store fs on trap entry and restore on trap exit.
Home |
Main Index |
Thread Index |
Old Index