/kernel/linux/linux-5.10/arch/x86/kernel/ |
H A D | process_64.c | 163 unsigned long gsbase; in __rdgsbase_inactive() local 169 gsbase = rdgsbase(); in __rdgsbase_inactive() 173 rdmsrl(MSR_KERNEL_GS_BASE, gsbase); in __rdgsbase_inactive() 177 return gsbase; in __rdgsbase_inactive() 188 static noinstr void __wrgsbase_inactive(unsigned long gsbase) in __wrgsbase_inactive() argument 194 wrgsbase(gsbase); in __wrgsbase_inactive() 198 wrmsrl(MSR_KERNEL_GS_BASE, gsbase); in __wrgsbase_inactive() 244 prev_p->thread.gsbase = 0; in save_base_legacy() 259 task->thread.gsbase = __rdgsbase_inactive(); in save_fsgs() 267 * While a process is running,current->thread.fsbase and current->thread.gsbase 408 unsigned long gsbase; x86_gsbase_read_cpu_inactive() local 423 x86_gsbase_write_cpu_inactive(unsigned long gsbase) x86_gsbase_write_cpu_inactive() argument 453 unsigned long gsbase; x86_gsbase_read_task() local 473 x86_gsbase_write_task(struct task_struct *task, unsigned long gsbase) x86_gsbase_write_task() argument [all...] |
H A D | tls.c | 184 p->thread.gsbase = info.base_addr; in do_set_thread_area()
|
H A D | process.c | 149 p->thread.gsbase = current->thread.gsbase; in copy_thread()
|
H A D | ptrace.c | 875 child->thread.gsbase = in putreg32()
|
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | fsgsbase.h | 20 extern void x86_gsbase_write_task(struct task_struct *task, unsigned long gsbase); 35 unsigned long gsbase; in rdgsbase() local 37 asm volatile("rdgsbase %0" : "=r" (gsbase) :: "memory"); in rdgsbase() 39 return gsbase; in rdgsbase() 47 static __always_inline void wrgsbase(unsigned long gsbase) in wrgsbase() argument 49 asm volatile("wrgsbase %0" :: "r" (gsbase) : "memory"); in wrgsbase() 77 extern void x86_gsbase_write_cpu_inactive(unsigned long gsbase);
|
H A D | elf.h | 178 t->fsbase = t->gsbase = 0; in elf_common_init()
|
H A D | processor.h | 503 unsigned long gsbase; member
|
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | fsgsbase.h | 20 extern void x86_gsbase_write_task(struct task_struct *task, unsigned long gsbase); 35 unsigned long gsbase; in rdgsbase() local 37 asm volatile("rdgsbase %0" : "=r" (gsbase) :: "memory"); in rdgsbase() 39 return gsbase; in rdgsbase() 47 static __always_inline void wrgsbase(unsigned long gsbase) in wrgsbase() argument 49 asm volatile("wrgsbase %0" :: "r" (gsbase) : "memory"); in wrgsbase() 77 extern void x86_gsbase_write_cpu_inactive(unsigned long gsbase);
|
H A D | elf.h | 163 t->fsbase = t->gsbase = 0; in elf_common_init()
|
H A D | processor.h | 432 unsigned long gsbase; member
|
/kernel/linux/linux-6.6/arch/x86/kernel/ |
H A D | process_64.c | 165 unsigned long gsbase; in __rdgsbase_inactive() local 171 gsbase = rdgsbase(); in __rdgsbase_inactive() 175 rdmsrl(MSR_KERNEL_GS_BASE, gsbase); in __rdgsbase_inactive() 179 return gsbase; in __rdgsbase_inactive() 190 static noinstr void __wrgsbase_inactive(unsigned long gsbase) in __wrgsbase_inactive() argument 196 wrgsbase(gsbase); in __wrgsbase_inactive() 200 wrmsrl(MSR_KERNEL_GS_BASE, gsbase); in __wrgsbase_inactive() 246 prev_p->thread.gsbase = 0; in save_base_legacy() 261 task->thread.gsbase = __rdgsbase_inactive(); in save_fsgs() 269 * While a process is running,current->thread.fsbase and current->thread.gsbase 433 unsigned long gsbase; x86_gsbase_read_cpu_inactive() local 448 x86_gsbase_write_cpu_inactive(unsigned long gsbase) x86_gsbase_write_cpu_inactive() argument 478 unsigned long gsbase; x86_gsbase_read_task() local 498 x86_gsbase_write_task(struct task_struct *task, unsigned long gsbase) x86_gsbase_write_task() argument [all...] |
H A D | tls.c | 179 p->thread.gsbase = info.base_addr; in do_set_thread_area()
|
H A D | process.c | 186 p->thread.gsbase = current->thread.gsbase; in copy_thread()
|
H A D | ptrace.c | 905 child->thread.gsbase = in putreg32()
|
/kernel/linux/linux-5.10/tools/testing/selftests/x86/ |
H A D | fsgsbase.c | 91 unsigned long gsbase; in rdgsbase() local 93 asm volatile("rdgsbase %0" : "=r" (gsbase) :: "memory"); in rdgsbase() 95 return gsbase; in rdgsbase() 107 static inline void wrgsbase(unsigned long gsbase) in wrgsbase() argument 109 asm volatile("wrgsbase %0" :: "r" (gsbase) : "memory"); in wrgsbase() 251 * that GSBASE == 0 (i.e. thread.gsbase == 0). in load_gs() 348 * thread.gsbase == 0. in threadproc()
|
/kernel/linux/linux-6.6/tools/testing/selftests/x86/ |
H A D | fsgsbase.c | 91 unsigned long gsbase; in rdgsbase() local 93 asm volatile("rdgsbase %0" : "=r" (gsbase) :: "memory"); in rdgsbase() 95 return gsbase; in rdgsbase() 107 static inline void wrgsbase(unsigned long gsbase) in wrgsbase() argument 109 asm volatile("wrgsbase %0" :: "r" (gsbase) : "memory"); in wrgsbase() 251 * that GSBASE == 0 (i.e. thread.gsbase == 0). in load_gs() 348 * thread.gsbase == 0. in threadproc()
|
/kernel/linux/linux-5.10/arch/x86/kvm/svm/ |
H A D | svm.c | 1413 wrmsrl(MSR_KERNEL_GS_BASE, current->thread.gsbase); in svm_vcpu_put()
|
/kernel/linux/linux-5.10/arch/x86/kvm/vmx/ |
H A D | vmx.c | 1323 vmx->msr_host_kernel_gs_base = current->thread.gsbase; in vmx_prepare_switch_to_guest()
|
/kernel/linux/linux-6.6/arch/x86/kvm/vmx/ |
H A D | vmx.c | 1343 vmx->msr_host_kernel_gs_base = current->thread.gsbase; in vmx_prepare_switch_to_guest()
|