]> git.baikalelectronics.ru Git - kernel.git/commit
x86, bts: fix wrmsr and spinlock over kmalloc
authorMarkus Metzger <markus.t.metzger@intel.com>
Tue, 25 Nov 2008 07:52:56 +0000 (08:52 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 25 Nov 2008 16:29:02 +0000 (17:29 +0100)
commitff7a4495799f5c82df0783f7c6d12be8cda0d16f
tree44c3da676ddb8e160fe1d0e9f29d2ab6a51ed475
parent29ea00d8dc3fe2db04eb14b9ec08a0437335236e
x86, bts: fix wrmsr and spinlock over kmalloc

Impact: fix sleeping-with-spinlock-held bugs/crashes

- Turn a wrmsr to write the DS_AREA MSR into a wrmsrl.
- Use irqsave variants of spinlocks.
- Do not allocate memory while holding spinlocks.

Reported-by: Stephane Eranian <eranian@googlemail.com>
Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/ds.c