mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
Quick fix for hang on booting with -d. mtx_enter() was called before
curproc was initialized. curproc == NULL was interpreted as matching the process holding Giant... Just skip mtx_enter() and mtx_exit() in trap() if (curproc == NULL && cold) (&& cold for safety).
This commit is contained in:
parent
96cae770d3
commit
bbbb2579b4
3 changed files with 12 additions and 6 deletions
|
|
@ -279,7 +279,8 @@ trap(frame)
|
|||
enable_intr();
|
||||
}
|
||||
|
||||
mtx_enter(&Giant, MTX_DEF);
|
||||
if (p != NULL || !cold)
|
||||
mtx_enter(&Giant, MTX_DEF);
|
||||
|
||||
#if defined(I586_CPU) && !defined(NO_F00F_HACK)
|
||||
restart:
|
||||
|
|
@ -639,7 +640,8 @@ restart:
|
|||
user:
|
||||
userret(p, &frame, sticks, 1);
|
||||
out:
|
||||
mtx_exit(&Giant, MTX_DEF);
|
||||
if (p != NULL || !cold)
|
||||
mtx_exit(&Giant, MTX_DEF);
|
||||
}
|
||||
|
||||
#ifdef notyet
|
||||
|
|
|
|||
|
|
@ -279,7 +279,8 @@ trap(frame)
|
|||
enable_intr();
|
||||
}
|
||||
|
||||
mtx_enter(&Giant, MTX_DEF);
|
||||
if (p != NULL || !cold)
|
||||
mtx_enter(&Giant, MTX_DEF);
|
||||
|
||||
#if defined(I586_CPU) && !defined(NO_F00F_HACK)
|
||||
restart:
|
||||
|
|
@ -639,7 +640,8 @@ restart:
|
|||
user:
|
||||
userret(p, &frame, sticks, 1);
|
||||
out:
|
||||
mtx_exit(&Giant, MTX_DEF);
|
||||
if (p != NULL || !cold)
|
||||
mtx_exit(&Giant, MTX_DEF);
|
||||
}
|
||||
|
||||
#ifdef notyet
|
||||
|
|
|
|||
|
|
@ -279,7 +279,8 @@ trap(frame)
|
|||
enable_intr();
|
||||
}
|
||||
|
||||
mtx_enter(&Giant, MTX_DEF);
|
||||
if (p != NULL || !cold)
|
||||
mtx_enter(&Giant, MTX_DEF);
|
||||
|
||||
#if defined(I586_CPU) && !defined(NO_F00F_HACK)
|
||||
restart:
|
||||
|
|
@ -639,7 +640,8 @@ restart:
|
|||
user:
|
||||
userret(p, &frame, sticks, 1);
|
||||
out:
|
||||
mtx_exit(&Giant, MTX_DEF);
|
||||
if (p != NULL || !cold)
|
||||
mtx_exit(&Giant, MTX_DEF);
|
||||
}
|
||||
|
||||
#ifdef notyet
|
||||
|
|
|
|||
Loading…
Reference in a new issue