Date: Wed, 7 Feb 2007 18:33:37 GMT From: Roman Divacky <rdivacky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 114195 for review Message-ID: <200702071833.l17IXbpC037440@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=114195 Change 114195 by rdivacky@rdivacky_witten on 2007/02/07 18:33:12 Cache the em->pdeath_signal in a local variable and move the copyout out of the emul_lock coverage. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#56 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#56 (text+ko) ==== @@ -1652,6 +1652,7 @@ struct proc *p = td->td_proc; char comm[LINUX_MAX_COMM_LEN]; struct linux_emuldata *em; + int pdeath_signal; #ifdef DEBUG if (ldebug(prctl)) @@ -1671,10 +1672,11 @@ case LINUX_PR_GET_PDEATHSIG: em = em_find(p, EMUL_DOLOCK); KASSERT(em != NULL, ("prctl: emuldata not found.\n")); - error = copyout(&em->pdeath_signal, + pdeath_signal = em->pdeath_signal; + EMUL_UNLOCK(&emul_lock); + error = copyout(&pdeath_signal, (void *)(register_t)args->arg2, - sizeof(em->pdeath_signal)); - EMUL_UNLOCK(&emul_lock); + sizeof(pdeath_signal)); break; case LINUX_PR_SET_NAME: /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702071833.l17IXbpC037440>