diff options
author | jake <jake@FreeBSD.org> | 2000-09-08 03:36:09 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2000-09-08 03:36:09 +0000 |
commit | ead12b3bec85b29b88014619f9ba6484e9f3bcb0 (patch) | |
tree | b004f8b13d098ae9d88842420fe9ee3b568ccd74 | |
parent | 7818bcb78c3354625b2b77d823b5ee8db684ccb7 (diff) | |
download | FreeBSD-src-ead12b3bec85b29b88014619f9ba6484e9f3bcb0.zip FreeBSD-src-ead12b3bec85b29b88014619f9ba6484e9f3bcb0.tar.gz |
Really fix USER_LDT. (Don't use currentldt as an L-value.)
-rw-r--r-- | sys/amd64/amd64/mp_machdep.c | 2 | ||||
-rw-r--r-- | sys/amd64/amd64/mptable.c | 2 | ||||
-rw-r--r-- | sys/amd64/amd64/sys_machdep.c | 4 | ||||
-rw-r--r-- | sys/amd64/include/mptable.h | 2 | ||||
-rw-r--r-- | sys/i386/i386/mp_machdep.c | 2 | ||||
-rw-r--r-- | sys/i386/i386/mptable.c | 2 | ||||
-rw-r--r-- | sys/i386/i386/sys_machdep.c | 4 | ||||
-rw-r--r-- | sys/i386/include/mptable.h | 2 | ||||
-rw-r--r-- | sys/kern/subr_smp.c | 2 |
9 files changed, 11 insertions, 11 deletions
diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index 95b5759..67422b2 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.c @@ -480,7 +480,7 @@ init_secondary(void) lldt(_default_ldt); #ifdef USER_LDT - currentldt = _default_ldt; + PCPU_SET(currentldt, _default_ldt); #endif gsel_tss = GSEL(GPROC0_SEL, SEL_KPL); diff --git a/sys/amd64/amd64/mptable.c b/sys/amd64/amd64/mptable.c index 95b5759..67422b2 100644 --- a/sys/amd64/amd64/mptable.c +++ b/sys/amd64/amd64/mptable.c @@ -480,7 +480,7 @@ init_secondary(void) lldt(_default_ldt); #ifdef USER_LDT - currentldt = _default_ldt; + PCPU_SET(currentldt, _default_ldt); #endif gsel_tss = GSEL(GPROC0_SEL, SEL_KPL); diff --git a/sys/amd64/amd64/sys_machdep.c b/sys/amd64/amd64/sys_machdep.c index 081d28c..bd7f0d8 100644 --- a/sys/amd64/amd64/sys_machdep.c +++ b/sys/amd64/amd64/sys_machdep.c @@ -263,7 +263,7 @@ set_user_ldt(struct pcb *pcb) gdt[GUSERLDT_SEL].sd = pcb_ldt->ldt_sd; #endif lldt(GSEL(GUSERLDT_SEL, SEL_KPL)); - currentldt = GSEL(GUSERLDT_SEL, SEL_KPL); + PCPU_SET(currentldt, GSEL(GUSERLDT_SEL, SEL_KPL)); } struct pcb_ldt * @@ -311,7 +311,7 @@ user_ldt_free(struct pcb *pcb) if (pcb == curpcb) { lldt(_default_ldt); - currentldt = _default_ldt; + PCPU_SET(currentldt, _default_ldt); } if (--pcb_ldt->ldt_refcnt == 0) { diff --git a/sys/amd64/include/mptable.h b/sys/amd64/include/mptable.h index 95b5759..67422b2 100644 --- a/sys/amd64/include/mptable.h +++ b/sys/amd64/include/mptable.h @@ -480,7 +480,7 @@ init_secondary(void) lldt(_default_ldt); #ifdef USER_LDT - currentldt = _default_ldt; + PCPU_SET(currentldt, _default_ldt); #endif gsel_tss = GSEL(GPROC0_SEL, SEL_KPL); diff --git a/sys/i386/i386/mp_machdep.c b/sys/i386/i386/mp_machdep.c index 95b5759..67422b2 100644 --- a/sys/i386/i386/mp_machdep.c +++ b/sys/i386/i386/mp_machdep.c @@ -480,7 +480,7 @@ init_secondary(void) lldt(_default_ldt); #ifdef USER_LDT - currentldt = _default_ldt; + PCPU_SET(currentldt, _default_ldt); #endif gsel_tss = GSEL(GPROC0_SEL, SEL_KPL); diff --git a/sys/i386/i386/mptable.c b/sys/i386/i386/mptable.c index 95b5759..67422b2 100644 --- a/sys/i386/i386/mptable.c +++ b/sys/i386/i386/mptable.c @@ -480,7 +480,7 @@ init_secondary(void) lldt(_default_ldt); #ifdef USER_LDT - currentldt = _default_ldt; + PCPU_SET(currentldt, _default_ldt); #endif gsel_tss = GSEL(GPROC0_SEL, SEL_KPL); diff --git a/sys/i386/i386/sys_machdep.c b/sys/i386/i386/sys_machdep.c index 081d28c..bd7f0d8 100644 --- a/sys/i386/i386/sys_machdep.c +++ b/sys/i386/i386/sys_machdep.c @@ -263,7 +263,7 @@ set_user_ldt(struct pcb *pcb) gdt[GUSERLDT_SEL].sd = pcb_ldt->ldt_sd; #endif lldt(GSEL(GUSERLDT_SEL, SEL_KPL)); - currentldt = GSEL(GUSERLDT_SEL, SEL_KPL); + PCPU_SET(currentldt, GSEL(GUSERLDT_SEL, SEL_KPL)); } struct pcb_ldt * @@ -311,7 +311,7 @@ user_ldt_free(struct pcb *pcb) if (pcb == curpcb) { lldt(_default_ldt); - currentldt = _default_ldt; + PCPU_SET(currentldt, _default_ldt); } if (--pcb_ldt->ldt_refcnt == 0) { diff --git a/sys/i386/include/mptable.h b/sys/i386/include/mptable.h index 95b5759..67422b2 100644 --- a/sys/i386/include/mptable.h +++ b/sys/i386/include/mptable.h @@ -480,7 +480,7 @@ init_secondary(void) lldt(_default_ldt); #ifdef USER_LDT - currentldt = _default_ldt; + PCPU_SET(currentldt, _default_ldt); #endif gsel_tss = GSEL(GPROC0_SEL, SEL_KPL); diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c index 95b5759..67422b2 100644 --- a/sys/kern/subr_smp.c +++ b/sys/kern/subr_smp.c @@ -480,7 +480,7 @@ init_secondary(void) lldt(_default_ldt); #ifdef USER_LDT - currentldt = _default_ldt; + PCPU_SET(currentldt, _default_ldt); #endif gsel_tss = GSEL(GPROC0_SEL, SEL_KPL); |