diff options
| author | Andy Lutomirski <[email protected]> | 2016-04-07 17:31:45 -0700 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2016-04-13 10:20:41 +0200 |
| commit | d47b50e7a111bb7a56fb1c974728b56209d7f515 (patch) | |
| tree | 1c3edd2d20f4901b14e2988ecb0c404ff6e54541 /tools/perf/scripts/python/export-to-postgresql.py | |
| parent | 0051202f6ad5fd9c04d220343e66d1eb890f7b81 (diff) | |
x86/arch_prctl: Fix ARCH_GET_FS and ARCH_GET_GS
ARCH_GET_FS and ARCH_GET_GS attempted to figure out the fsbase and
gsbase respectively from saved thread state. This was wrong: fsbase
and gsbase live in registers while a thread is running, not in
memory.
For reasons I can't fathom, the fsbase and gsbase code were
different. Since neither was correct, I didn't try to figure out
what the point of the difference was.
Change it to simply read the MSRs.
The code for reading the base for a remote thread is also completely
wrong if the target thread uses its own descriptors (which is the case
for all 32-bit threaded programs), but fixing that is a different
story.
Signed-off-by: Andy Lutomirski <[email protected]>
Reviewed-by: Borislav Petkov <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Brian Gerst <[email protected]>
Cc: Denys Vlasenko <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Rudolf Marek <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/c6e7b507c72ca3bdbf6c7a8a3ceaa0334e873bd9.1460075211.git.luto@kernel.org
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions