/linux/arch/x86/um/ |
A D | ldt.c | 58 uml_ldt_t *ldt = ¤t->mm->context.arch.ldt; in read_ldt() local 60 if (!ldt->entry_count) in read_ldt() 66 mutex_lock(&ldt->lock); in read_ldt() 123 uml_ldt_t *ldt = ¤t->mm->context.arch.ldt; in write_ldt() local 147 mutex_lock(&ldt->lock); in write_ldt() 173 memcpy(ldt->u.pages[0]+1, ldt->u.entries+1, in write_ldt() 253 if (ldt == NULL) { in ldt_get_host_info() 271 if (ldt[i].a != 0 || ldt[i].b != 0) in ldt_get_host_info() 289 if (ldt[i].a != 0 || ldt[i].b != 0) in ldt_get_host_info() 337 memcpy(new_mm->arch.ldt.u.entries, from_mm->arch.ldt.u.entries, in init_new_ldt() [all …]
|
A D | Makefile | 12 obj-y = bugs_$(BITS).o delay.o fault.o ldt.o \
|
/linux/arch/x86/kernel/ |
A D | ldt.c | 47 ldt = READ_ONCE(mm->context.ldt); in load_mm_ldt() 63 if (unlikely(ldt)) { in load_mm_ldt() 81 set_ldt(ldt_slot_va(ldt->slot), ldt->nr_entries); in load_mm_ldt() 83 set_ldt(ldt->entries, ldt->nr_entries); in load_mm_ldt() 354 if (!ldt) in unmap_ldt_struct() 416 paravirt_alloc_ldt(ldt->entries, ldt->nr_entries); in finalize_ldt_struct() 424 smp_store_release(&mm->context.ldt, ldt); in install_ldt() 437 paravirt_free_ldt(ldt->entries, ldt->nr_entries); in free_ldt_struct() 442 kfree(ldt); in free_ldt_struct() 605 memset(&ldt, 0, sizeof(ldt)); in write_ldt() [all …]
|
A D | step.c | 37 if (unlikely(!child->mm->context.ldt || in convert_ip_to_linear() 38 seg >= child->mm->context.ldt->nr_entries)) in convert_ip_to_linear() 41 desc = &child->mm->context.ldt->entries[seg]; in convert_ip_to_linear()
|
A D | process_64.c | 408 struct ldt_struct *ldt; in x86_fsgsbase_read_task() local 416 ldt = task->mm->context.ldt; in x86_fsgsbase_read_task() 417 if (unlikely(!ldt || idx >= ldt->nr_entries)) in x86_fsgsbase_read_task() 420 base = get_desc_base(ldt->entries + idx); in x86_fsgsbase_read_task()
|
A D | doublefault_32.c | 90 .ldt = 0,
|
A D | umip.c | 259 if (current->mm->context.ldt) in emulate_umip_insn()
|
A D | Makefile | 60 obj-$(CONFIG_MODIFY_LDT_SYSCALL) += ldt.o
|
/linux/arch/alpha/kernel/ |
A D | entry.S | 707 ldt $f0, 64($sp) 708 ldt $f1, 72($sp) 709 ldt $f2, 80($sp) 710 ldt $f3, 88($sp) 712 ldt $f4, 96($sp) 713 ldt $f5, 104($sp) 714 ldt $f6, 112($sp) 715 ldt $f7, 120($sp) 716 ldt $f8, 128($sp) 717 ldt $f9, 136($sp) [all …]
|
/linux/arch/x86/include/asm/ |
A D | desc.h | 114 #define load_ldt(ldt) asm volatile("lldt %0"::"m" (ldt)) argument 126 static inline void paravirt_alloc_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_alloc_ldt() argument 130 static inline void paravirt_free_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_free_ldt() argument 135 #define store_ldt(ldt) asm("sldt %0" : "=m"(ldt)) argument 142 static inline void native_write_ldt_entry(struct desc_struct *ldt, int entry, const void *desc) in native_write_ldt_entry() argument 144 memcpy(&ldt[entry], desc, 8); in native_write_ldt_entry() 198 ldt_desc ldt; in native_set_ldt() local 200 set_tssldt_descriptor(&ldt, (unsigned long)addr, DESC_LDT, in native_set_ldt() 203 &ldt, DESC_LDT); in native_set_ldt()
|
A D | suspend_32.h | 26 u16 ldt; member
|
A D | paravirt.h | 264 static inline void paravirt_alloc_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_alloc_ldt() argument 266 PVOP_VCALL2(cpu.alloc_ldt, ldt, entries); in paravirt_alloc_ldt() 269 static inline void paravirt_free_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_free_ldt() argument 271 PVOP_VCALL2(cpu.free_ldt, ldt, entries); in paravirt_free_ldt()
|
A D | mmu.h | 38 struct ldt_struct *ldt; member
|
A D | suspend_64.h | 46 u16 ldt; member
|
A D | paravirt_types.h | 101 void (*write_ldt_entry)(struct desc_struct *ldt, int entrynum, 107 void (*alloc_ldt)(struct desc_struct *ldt, unsigned entries); 108 void (*free_ldt)(struct desc_struct *ldt, unsigned entries);
|
A D | mmu_context.h | 63 mm->context.ldt = NULL; in init_new_context_ldt()
|
/linux/tools/testing/selftests/x86/ |
A D | ldt_gdt.c | 66 uint32_t selector = (index << 3) | (ldt << 2) | 3; in check_invalid_segment() 83 (ldt ? "LDT" : "GDT"), index); in check_invalid_segment() 87 (ldt ? "LDT" : "GDT"), index); in check_invalid_segment() 91 static void check_valid_segment(uint16_t index, int ldt, in check_valid_segment() argument 96 uint32_t selector = (index << 3) | (ldt << 2) | 3; in check_valid_segment() 113 (ldt ? "LDT" : "GDT"), index); in check_valid_segment() 135 (ldt ? "LDT" : "GDT"), index, ar, limit); in check_valid_segment() 140 bool oldmode, bool ldt) in install_valid_mode() argument 145 if (!ldt) { in install_valid_mode() 177 ldt ? "modify_ldt" : "set_thread_area", in install_valid_mode() [all …]
|
/linux/arch/x86/math-emu/ |
A D | fpu_system.h | 31 if (current->mm->context.ldt && seg < current->mm->context.ldt->nr_entries) in FPU_get_ldt_descriptor() 32 ret = current->mm->context.ldt->entries[seg]; in FPU_get_ldt_descriptor()
|
/linux/arch/x86/lib/ |
A D | insn-eval.c | 607 struct ldt_struct *ldt; in get_desc() local 613 ldt = current->active_mm->context.ldt; in get_desc() 614 if (ldt && sel < ldt->nr_entries) { in get_desc() 615 *out = ldt->entries[sel]; in get_desc()
|
/linux/arch/x86/um/asm/ |
A D | mm_context.h | 69 uml_ldt_t ldt; member
|
/linux/arch/x86/kvm/ |
A D | tss.h | 57 u16 ldt; member
|
/linux/arch/x86/include/uapi/asm/ |
A D | kvm.h | 154 struct kvm_segment tr, ldt; member 165 struct kvm_segment tr, ldt; member
|
/linux/tools/arch/x86/include/uapi/asm/ |
A D | kvm.h | 154 struct kvm_segment tr, ldt; member 165 struct kvm_segment tr, ldt; member
|
/linux/arch/x86/xen/ |
A D | enlighten_pv.c | 362 static void xen_alloc_ldt(struct desc_struct *ldt, unsigned entries) in xen_alloc_ldt() argument 379 set_aliased_prot(ldt + i, PAGE_KERNEL_RO); in xen_alloc_ldt() 382 static void xen_free_ldt(struct desc_struct *ldt, unsigned entries) in xen_free_ldt() argument 388 set_aliased_prot(ldt + i, PAGE_KERNEL); in xen_free_ldt()
|
/linux/arch/x86/events/ |
A D | core.c | 2807 struct ldt_struct *ldt; in get_segment_base() local 2810 ldt = READ_ONCE(current->active_mm->context.ldt); in get_segment_base() 2811 if (!ldt || idx >= ldt->nr_entries) in get_segment_base() 2814 desc = &ldt->entries[idx]; in get_segment_base()
|