svn commit: r217563 - head/sys/amd64/amd64
Konstantin Belousov
kib at FreeBSD.org
Tue Jan 18 22:56:11 UTC 2011
Author: kib
Date: Tue Jan 18 22:56:10 2011
New Revision: 217563
URL: http://svn.freebsd.org/changeset/base/217563
Log:
Use malloc(9) instead of kmem_alloc(9) for temporal copy of the
user-supplied descriptor array.
Noted and reviewed by: jhb (previous version)
MFC after: 1 week
Modified:
head/sys/amd64/amd64/sys_machdep.c
Modified: head/sys/amd64/amd64/sys_machdep.c
==============================================================================
--- head/sys/amd64/amd64/sys_machdep.c Tue Jan 18 22:19:55 2011 (r217562)
+++ head/sys/amd64/amd64/sys_machdep.c Tue Jan 18 22:56:10 2011 (r217563)
@@ -105,19 +105,13 @@ sysarch_ldt(struct thread *td, struct sy
return (EINVAL);
set_pcb_flags(td->td_pcb, PCB_FULL_IRET);
if (largs->descs != NULL) {
- lp = (struct user_segment_descriptor *)
- kmem_alloc(kernel_map, largs->num *
- sizeof(struct user_segment_descriptor));
- if (lp == NULL) {
- error = ENOMEM;
- break;
- }
+ lp = malloc(largs->num * sizeof(struct
+ user_segment_descriptor), M_TEMP, M_WAITOK);
error = copyin(largs->descs, lp, largs->num *
sizeof(struct user_segment_descriptor));
if (error == 0)
error = amd64_set_ldt(td, largs, lp);
- kmem_free(kernel_map, (vm_offset_t)lp, largs->num *
- sizeof(struct user_segment_descriptor));
+ free(lp, M_TEMP);
} else {
error = amd64_set_ldt(td, largs, NULL);
}
More information about the svn-src-all
mailing list