Lines Matching refs:ldt

33 	set_ldt(pc->ldt->entries, pc->ldt->size);  in flush_ldt()
73 static void finalize_ldt_struct(struct ldt_struct *ldt) in finalize_ldt_struct() argument
75 paravirt_alloc_ldt(ldt->entries, ldt->size); in finalize_ldt_struct()
80 struct ldt_struct *ldt) in install_ldt() argument
83 smp_store_release(&current_mm->context.ldt, ldt); in install_ldt()
89 static void free_ldt_struct(struct ldt_struct *ldt) in free_ldt_struct() argument
91 if (likely(!ldt)) in free_ldt_struct()
94 paravirt_free_ldt(ldt->entries, ldt->size); in free_ldt_struct()
95 if (ldt->size * LDT_ENTRY_SIZE > PAGE_SIZE) in free_ldt_struct()
96 vfree(ldt->entries); in free_ldt_struct()
98 free_page((unsigned long)ldt->entries); in free_ldt_struct()
99 kfree(ldt); in free_ldt_struct()
115 mm->context.ldt = NULL; in init_new_context()
120 if (!old_mm->context.ldt) { in init_new_context()
121 mm->context.ldt = NULL; in init_new_context()
125 new_ldt = alloc_ldt_struct(old_mm->context.ldt->size); in init_new_context()
131 memcpy(new_ldt->entries, old_mm->context.ldt->entries, in init_new_context()
135 mm->context.ldt = new_ldt; in init_new_context()
149 free_ldt_struct(mm->context.ldt); in destroy_context()
150 mm->context.ldt = NULL; in destroy_context()
161 if (!mm->context.ldt) { in read_ldt()
169 size = mm->context.ldt->size * LDT_ENTRY_SIZE; in read_ldt()
173 if (copy_to_user(ptr, mm->context.ldt->entries, size)) { in read_ldt()
210 struct desc_struct ldt; in write_ldt() local
236 memset(&ldt, 0, sizeof(ldt)); in write_ldt()
243 fill_ldt(&ldt, &ldt_info); in write_ldt()
245 ldt.avl = 0; in write_ldt()
250 old_ldt = mm->context.ldt; in write_ldt()
261 new_ldt->entries[ldt_info.entry_number] = ldt; in write_ldt()