Bug 15169

Summary: tsleep() dereferences *curproc while in a panic
Product: Base System Reporter: dgilbert <dgilbert>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.2-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description dgilbert 1999-11-29 20:40:00 UTC
	vinumlock.c calls tsleep() during a sync() in a panic --- which
means the curproc is 0.  Now if KTRACE is defined, tsleep() dereferences
*curproc before it checks *panicstr... it looks like this was unintended
side effect of adding the KTRACE #ifdef.

Fix: I patched the following (there might be a better way to do it?):
How-To-Repeat: 
	I'm running du on a large vinum drive, which causes it to panic
for some (as yet undetermined) reason or other.
Comment 1 Peter Wemm freebsd_committer freebsd_triage 1999-11-30 09:05:06 UTC
State Changed
From-To: open->closed

Suggested fix applied, kern_synch.c revs  1.85, 1.72.2.4 and 1.26.2.6 
Thanks!