Date: Wed, 25 May 2005 03:12:33 GMT From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 77437 for review Message-ID: <200505250312.j4P3CXI0041587@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=77437 Change 77437 by peter@peter_melody on 2005/05/25 03:12:29 Fix a startup race with gdb execing something. I think. Affected files ... .. //depot/projects/hammer/sys/kern/sys_process.c#27 edit Differences ... ==== //depot/projects/hammer/sys/kern/sys_process.c#27 (text+ko) ==== @@ -440,7 +440,7 @@ #define PROC_READ(w, t, a) wrap32 ? \ proc_read_ ## w ## 32(t, a) : proc_read_ ## w (t, a) #define PROC_WRITE(w, t, a) wrap32 ? \ - proc_write_ ## w ## 32(t, a) : proc_write_ ## w (t, a) + (safe ? proc_write_ ## w ## 32(t, a) : EINVAL ) : proc_write_ ## w (t, a) #else #define PROC_READ(w, t, a) proc_read_ ## w (t, a) #define PROC_WRITE(w, t, a) proc_write_ ## w (t, a) @@ -460,7 +460,7 @@ lwpid_t tid = 0, *buf; pid_t saved_pid = pid; #ifdef COMPAT_IA32 - int wrap32 = 0; + int wrap32 = 0, safe = 0; #endif curp = td->td_proc; @@ -539,10 +539,8 @@ #ifdef COMPAT_IA32 if (td->td_proc->p_sysent == &ia32_freebsd_sysvec) { - if (td2->td_proc->p_sysent != &ia32_freebsd_sysvec) { - error = EINVAL; - goto fail; - } + if (td2->td_proc->p_sysent == &ia32_freebsd_sysvec) + safe = 1; wrap32 = 1; } #endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200505250312.j4P3CXI0041587>