PERFORCE change 77437 for review
Peter Wemm
peter at FreeBSD.org
Wed May 25 03:12:35 GMT 2005
http://perforce.freebsd.org/chv.cgi?CH=77437
Change 77437 by peter at 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
More information about the p4-projects
mailing list