Subject: kern/36358: Page fault trap at malloc() in pathname_get() when veriexec is enabled
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <blair.sadewitz@gmail.com>
List: netbsd-bugs
Date: 05/18/2007 11:15:00
>Number:         36358
>Category:       kern
>Synopsis:       Page fault trap at malloc() in pathname_get() when veriexec is enabled
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri May 18 11:15:00 +0000 2007
>Originator:     Blair Sadewitz
>Release:        4.99.20/i386
>Organization:
>Environment:
NetBSD/i386 4.99.20 with custom kernel
>Description:
I can reliably reproduce this problem by building the kernel with make -j.  I don't have a backtrace, but the path is something like:

vn_open() -> pathname_get() -> malloc()

I get a page fault trap when malloc tries to allocate memory.  I haven't looked into this much yet as I've got to get to bed, but this problem doesn't occur with a snapshot kernel (generic.mp) from 5/13.

If I don't build veriexec into the kernel, it doesn't occur.  Another user reported this problem to current-users within the last day or two.
>How-To-Repeat:
Follow the above code path. ;)
>Fix:
Disabling verified exec is a workaround, but I'm not sure what the actual problem is.