summaryrefslogtreecommitdiffstats
path: root/sys/i386/linux
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2007-07-20 08:35:18 +0000
committerattilio <attilio@FreeBSD.org>2007-07-20 08:35:18 +0000
commitd6dfb4f4cbfce87b25fa6cbc5b3d7bf24d4ff8c9 (patch)
tree58f8a3bcbf349a24509fd31df4f32a3f160dd3ae /sys/i386/linux
parent8765bda351ab8fcc0e2fcece54e27515b2bd12a9 (diff)
downloadFreeBSD-src-d6dfb4f4cbfce87b25fa6cbc5b3d7bf24d4ff8c9.zip
FreeBSD-src-d6dfb4f4cbfce87b25fa6cbc5b3d7bf24d4ff8c9.tar.gz
i386_set_ioperm, i386_get_ldt and i386_set_ldt are now MPSAFE
(Giant/sched_lock free) so remove unuseful Giant cruft. Approved by: jeff Approved by: re Sponsorized by: NGX Italy (http://www.ngx.it)
Diffstat (limited to 'sys/i386/linux')
-rw-r--r--sys/i386/linux/linux_machdep.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/sys/i386/linux/linux_machdep.c b/sys/i386/linux/linux_machdep.c
index 72c1a33..d3fa388 100644
--- a/sys/i386/linux/linux_machdep.c
+++ b/sys/i386/linux/linux_machdep.c
@@ -846,9 +846,7 @@ linux_ioperm(struct thread *td, struct linux_ioperm_args *args)
iia.start = args->start;
iia.length = args->length;
iia.enable = args->enable;
- mtx_lock(&Giant);
error = i386_set_ioperm(td, &iia);
- mtx_unlock(&Giant);
return (error);
}
@@ -884,10 +882,8 @@ linux_modify_ldt(struct thread *td, struct linux_modify_ldt_args *uap)
ldt.start = 0;
ldt.descs = uap->ptr;
ldt.num = uap->bytecount / sizeof(union descriptor);
- mtx_lock(&Giant);
error = i386_get_ldt(td, &ldt);
td->td_retval[0] *= sizeof(union descriptor);
- mtx_unlock(&Giant);
break;
case 0x01: /* write_ldt */
case 0x11: /* write_ldt */
@@ -912,9 +908,7 @@ linux_modify_ldt(struct thread *td, struct linux_modify_ldt_args *uap)
desc.sd.sd_xx = 0;
desc.sd.sd_def32 = ld.seg_32bit;
desc.sd.sd_gran = ld.limit_in_pages;
- mtx_lock(&Giant);
error = i386_set_ldt(td, &ldt, &desc);
- mtx_unlock(&Giant);
break;
default:
error = EINVAL;
OpenPOWER on IntegriCloud