diff options
author | Ingo Molnar <[email protected]> | 2018-10-08 10:41:59 +0200 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2018-10-08 10:45:04 +0200 |
commit | ec3a94188df7d28b374868d9a2a0face910e62ab (patch) | |
tree | fb89d6eecb6d7f4d6c880dfa05866499f1f469b4 | |
parent | 22245bdf0ad805d6c29f82b6d5e977ee94bb2166 (diff) |
x86/fsgsbase/64: Clean up various details
So:
- use 'extern' consistently for APIs
- fix weird header guard
- clarify code comments
- reorder APIs by type
Cc: Andy Lutomirski <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Brian Gerst <[email protected]>
Cc: Chang S. Bae <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: Denys Vlasenko <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Markus T Metzger <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Ravi Shankar <[email protected]>
Cc: Rik van Riel <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
-rw-r--r-- | arch/x86/entry/vdso/vgetcpu.c | 1 | ||||
-rw-r--r-- | arch/x86/include/asm/fsgsbase.h | 22 |
2 files changed, 13 insertions, 10 deletions
diff --git a/arch/x86/entry/vdso/vgetcpu.c b/arch/x86/entry/vdso/vgetcpu.c index edd214f5264d..f86ab0ae1777 100644 --- a/arch/x86/entry/vdso/vgetcpu.c +++ b/arch/x86/entry/vdso/vgetcpu.c @@ -14,6 +14,7 @@ notrace long __vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused) { vdso_read_cpunode(cpu, node); + return 0; } diff --git a/arch/x86/include/asm/fsgsbase.h b/arch/x86/include/asm/fsgsbase.h index 5e9cbcce318a..eb377b6e9eed 100644 --- a/arch/x86/include/asm/fsgsbase.h +++ b/arch/x86/include/asm/fsgsbase.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ASM_FSGSBASE_H -#define _ASM_FSGSBASE_H 1 +#define _ASM_FSGSBASE_H #ifndef __ASSEMBLY__ @@ -9,14 +9,15 @@ #include <asm/msr-index.h> /* - * Read/write a task's fsbase or gsbase. This returns the value that + * Read/write a task's FSBASE or GSBASE. This returns the value that * the FS/GS base would have (if the task were to be resumed). These - * work on current or on a different non-running task. + * work on the current task or on a non-running (typically stopped + * ptrace child) task. */ -unsigned long x86_fsbase_read_task(struct task_struct *task); -unsigned long x86_gsbase_read_task(struct task_struct *task); -int x86_fsbase_write_task(struct task_struct *task, unsigned long fsbase); -int x86_gsbase_write_task(struct task_struct *task, unsigned long gsbase); +extern unsigned long x86_fsbase_read_task(struct task_struct *task); +extern unsigned long x86_gsbase_read_task(struct task_struct *task); +extern int x86_fsbase_write_task(struct task_struct *task, unsigned long fsbase); +extern int x86_gsbase_write_task(struct task_struct *task, unsigned long gsbase); /* Helper functions for reading/writing FS/GS base */ @@ -25,20 +26,21 @@ static inline unsigned long x86_fsbase_read_cpu(void) unsigned long fsbase; rdmsrl(MSR_FS_BASE, fsbase); + return fsbase; } -void x86_fsbase_write_cpu(unsigned long fsbase); - static inline unsigned long x86_gsbase_read_cpu_inactive(void) { unsigned long gsbase; rdmsrl(MSR_KERNEL_GS_BASE, gsbase); + return gsbase; } -void x86_gsbase_write_cpu_inactive(unsigned long gsbase); +extern void x86_fsbase_write_cpu(unsigned long fsbase); +extern void x86_gsbase_write_cpu_inactive(unsigned long gsbase); #endif /* CONFIG_X86_64 */ |