Page MenuHomeFreeBSD

D30685.id90544.diff
No OneTemporary

D30685.id90544.diff

Index: sys/amd64/amd64/sys_machdep.c
===================================================================
--- sys/amd64/amd64/sys_machdep.c
+++ sys/amd64/amd64/sys_machdep.c
@@ -492,15 +492,15 @@
}
static void
-set_user_ldt_rv(struct vmspace *vmsp)
+set_user_ldt_rv(void *arg)
{
- struct thread *td;
+ struct proc *p;
- td = curthread;
- if (vmsp != td->td_proc->p_vmspace)
+ p = arg;
+ if (curthread->td_proc != p)
return;
- set_user_ldt(&td->td_proc->p_md);
+ set_user_ldt(&p->p_md);
}
struct proc_ldt *
@@ -550,8 +550,7 @@
atomic_thread_fence_rel();
mdp->md_ldt = new_ldt;
critical_exit();
- smp_rendezvous(NULL, (void (*)(void *))set_user_ldt_rv, NULL,
- p->p_vmspace);
+ smp_rendezvous(NULL, set_user_ldt_rv, NULL, p);
return (mdp->md_ldt);
}

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 20, 5:26 AM (9 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30001106
Default Alt Text
D30685.id90544.diff (778 B)

Event Timeline