/arch/x86/um/ |
D | ldt.c | 60 uml_ldt_t *ldt = ¤t->mm->context.arch.ldt; in read_ldt() local 62 if (!ldt->entry_count) in read_ldt() 68 mutex_lock(&ldt->lock); in read_ldt() 69 if (ldt->entry_count <= LDT_DIRECT_ENTRIES) { in read_ldt() 73 if (copy_to_user(ptr, ldt->u.entries, size)) in read_ldt() 79 for (i=0; i<ldt->entry_count/LDT_ENTRIES_PER_PAGE && bytecount; in read_ldt() 84 if (copy_to_user(ptr, ldt->u.pages[i], size)) { in read_ldt() 92 mutex_unlock(&ldt->lock); in read_ldt() 125 uml_ldt_t *ldt = ¤t->mm->context.arch.ldt; in write_ldt() local 149 mutex_lock(&ldt->lock); in write_ldt() [all …]
|
D | Makefile | 12 obj-y = bugs_$(BITS).o delay.o fault.o ldt.o \
|
/arch/x86/kernel/ |
D | ldt.c | 109 if (mm->context.ldt) { in do_sanity_check() 159 if (boot_cpu_has(X86_FEATURE_PTI) && !mm->context.ldt) in map_ldt_struct_to_user() 184 if (boot_cpu_has(X86_FEATURE_PTI) && !mm->context.ldt) in map_ldt_struct_to_user() 204 map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot) in map_ldt_struct() argument 218 WARN_ON(ldt->slot != -1); in map_ldt_struct() 223 is_vmalloc = is_vmalloc_addr(ldt->entries); in map_ldt_struct() 225 nr_pages = DIV_ROUND_UP(ldt->nr_entries * LDT_ENTRY_SIZE, PAGE_SIZE); in map_ldt_struct() 229 const void *src = (char *)ldt->entries + offset; in map_ldt_struct() 261 ldt->slot = slot; in map_ldt_struct() 265 static void unmap_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt) in unmap_ldt_struct() argument [all …]
|
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()
|
D | process_64.c | 310 struct ldt_struct *ldt; in x86_fsgsbase_read_task() local 318 ldt = task->mm->context.ldt; in x86_fsgsbase_read_task() 319 if (unlikely(!ldt || idx >= ldt->nr_entries)) in x86_fsgsbase_read_task() 322 base = get_desc_base(ldt->entries + idx); in x86_fsgsbase_read_task()
|
D | doublefault.c | 56 .ldt = 0,
|
D | Makefile | 51 obj-$(CONFIG_MODIFY_LDT_SYSCALL) += ldt.o
|
/arch/x86/include/asm/ |
D | mmu_context.h | 83 mm->context.ldt = NULL; in init_new_context_ldt() 103 struct ldt_struct *ldt; in load_mm_ldt() local 106 ldt = READ_ONCE(mm->context.ldt); in load_mm_ldt() 122 if (unlikely(ldt)) { in load_mm_ldt() 124 if (WARN_ON_ONCE((unsigned long)ldt->slot > 1)) { in load_mm_ldt() 140 set_ldt(ldt_slot_va(ldt->slot), ldt->nr_entries); in load_mm_ldt() 142 set_ldt(ldt->entries, ldt->nr_entries); in load_mm_ldt() 172 if (unlikely((unsigned long)prev->context.ldt | in switch_ldt() 173 (unsigned long)next->context.ldt)) in switch_ldt()
|
D | desc.h | 118 #define load_ldt(ldt) asm volatile("lldt %0"::"m" (ldt)) argument 130 static inline void paravirt_alloc_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_alloc_ldt() argument 134 static inline void paravirt_free_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_free_ldt() argument 139 #define store_ldt(ldt) asm("sldt %0" : "=m"(ldt)) argument 146 static inline void native_write_ldt_entry(struct desc_struct *ldt, int entry, const void *desc) in native_write_ldt_entry() argument 148 memcpy(&ldt[entry], desc, 8); in native_write_ldt_entry() 202 ldt_desc ldt; in native_set_ldt() local 204 set_tssldt_descriptor(&ldt, (unsigned long)addr, DESC_LDT, in native_set_ldt() 207 &ldt, DESC_LDT); in native_set_ldt()
|
D | suspend_32.h | 27 u16 ldt; member
|
D | mmu.h | 32 struct ldt_struct *ldt; member
|
D | suspend_64.h | 49 u16 ldt; member
|
D | paravirt_types.h | 132 void (*write_ldt_entry)(struct desc_struct *ldt, int entrynum, 138 void (*alloc_ldt)(struct desc_struct *ldt, unsigned entries); 139 void (*free_ldt)(struct desc_struct *ldt, unsigned entries);
|
D | paravirt.h | 237 static inline void paravirt_alloc_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_alloc_ldt() argument 239 PVOP_VCALL2(cpu.alloc_ldt, ldt, entries); in paravirt_alloc_ldt() 242 static inline void paravirt_free_ldt(struct desc_struct *ldt, unsigned entries) in paravirt_free_ldt() argument 244 PVOP_VCALL2(cpu.free_ldt, ldt, entries); in paravirt_free_ldt()
|
D | kvm_host.h | 1479 u16 ldt; in kvm_read_ldt() local 1480 asm("sldt %0" : "=g"(ldt)); in kvm_read_ldt() 1481 return ldt; in kvm_read_ldt()
|
D | processor.h | 295 unsigned short ldt, __ldth; member
|
/arch/alpha/kernel/ |
D | entry.S | 689 ldt $f0, 64($sp) # dont let "do_switch_stack" change fp state. 708 ldt $f30, 312($sp) # get saved fpcr 709 ldt $f0, 64($sp) 710 ldt $f1, 72($sp) 711 ldt $f2, 80($sp) 712 ldt $f3, 88($sp) 714 ldt $f4, 96($sp) 715 ldt $f5, 104($sp) 716 ldt $f6, 112($sp) 717 ldt $f7, 120($sp) [all …]
|
/arch/x86/math-emu/ |
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()
|
/arch/x86/lib/ |
D | insn-eval.c | 582 struct ldt_struct *ldt; in get_desc() local 588 ldt = current->active_mm->context.ldt; in get_desc() 589 if (ldt && sel < ldt->nr_entries) { in get_desc() 590 *out = ldt->entries[sel]; in get_desc()
|
/arch/x86/um/asm/ |
D | mm_context.h | 69 uml_ldt_t ldt; member
|
/arch/x86/kvm/ |
D | tss.h | 57 u16 ldt; member
|
D | emulate.c | 3103 tss->ldt = get_segment_selector(ctxt, VCPU_SREG_LDTR); in save_state_to_tss16() 3127 set_segment_selector(ctxt, tss->ldt, VCPU_SREG_LDTR); in load_state_from_tss16() 3139 ret = __load_segment_descriptor(ctxt, tss->ldt, VCPU_SREG_LDTR, cpl, in load_state_from_tss16()
|
/arch/x86/xen/ |
D | enlighten_pv.c | 404 static void xen_alloc_ldt(struct desc_struct *ldt, unsigned entries) in xen_alloc_ldt() argument 421 set_aliased_prot(ldt + i, PAGE_KERNEL_RO); in xen_alloc_ldt() 424 static void xen_free_ldt(struct desc_struct *ldt, unsigned entries) in xen_free_ldt() argument 430 set_aliased_prot(ldt + i, PAGE_KERNEL); in xen_free_ldt()
|
/arch/x86/events/ |
D | core.c | 2406 struct ldt_struct *ldt; in get_segment_base() local 2409 ldt = READ_ONCE(current->active_mm->context.ldt); in get_segment_base() 2410 if (!ldt || idx >= ldt->nr_entries) in get_segment_base() 2413 desc = &ldt->entries[idx]; in get_segment_base()
|
/arch/x86/include/uapi/asm/ |
D | kvm.h | 152 struct kvm_segment tr, ldt; member
|