From: <da...@us...> - 2003-08-22 21:25:55
|
Update of /cvsroot/cerber/cerb-ng/kcerb In directory sc8-pr-cvs1:/tmp/cvs-serv18288 Modified Files: cerb_action.c Log Message: Don't release mplock before calling original syscall. It could case panic or system freeze. Reported by: Pawel Rutkowski <so...@rs...> Index: cerb_action.c =================================================================== RCS file: /cvsroot/cerber/cerb-ng/kcerb/cerb_action.c,v retrieving revision 1.127 retrieving revision 1.128 diff -u -d -r1.127 -r1.128 --- cerb_action.c 23 Jul 2003 17:23:57 -0000 1.127 +++ cerb_action.c 22 Aug 2003 21:25:47 -0000 1.128 @@ -369,10 +369,8 @@ retv->v_ret = 0; else { #endif - rel_mplock(); retv->v_ret = tcb_oldscall[th->thd_syscall](th->thd_proc, th->thd_uap); - get_mplock(); #ifdef CERB_INITRUN } #endif @@ -449,9 +447,7 @@ args[i] = tmpv.v_register; } } - rel_mplock(); retv->v_ret = tcb_oldscall[scallno](th->thd_proc, args); - get_mplock(); if (args != NULL) MCB_FREE(args); } @@ -501,9 +497,7 @@ pc->pc_ucred->cr_uid = euid; pc->pc_ucred->cr_uidinfo = uifind(euid); } - rel_mplock(); tcb_op[CB_CALL_O](th, NULL, 0, retv, CB_CALL_O); - get_mplock(); if (oldeuid != euid) { cred = pc->pc_ucred; pc->pc_ucred = oldcred; |