diff options
author | Pekka Paalanen <pq@iki.fi> | 2008-06-30 23:48:37 +0300 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-01 10:14:06 +0200 |
commit | 3e61e0c976532a542b23bbb74c8f631815171078 (patch) | |
tree | af146a145ddfd295b7421ef77e56e7ece8f09536 /kernel/semaphore.c | |
parent | 97e6722b8d6b5880c4d5751127d5083b1b7df27d (diff) | |
download | linux-3e61e0c976532a542b23bbb74c8f631815171078.tar.gz linux-3e61e0c976532a542b23bbb74c8f631815171078.tar.bz2 linux-3e61e0c976532a542b23bbb74c8f631815171078.zip |
mmiotrace broken in linux-next (8-bit writes only)
The moment mmiotrace is enabled, I hit a NULL deref in:
IP: [<ffffffff80256e71>] __trace_special+0x17c/0x23a
Call Trace:
[<ffffffff802573cc>] ftrace_special+0x6f/0x9a
[<ffffffff8023e3e4>] down+0x19/0x4a
[<ffffffff80228adc>] acquire_console_sem+0x42/0x58
[<ffffffff8035d273>] con_flush_chars+0x28/0x43
[<ffffffff80354a70>] write_chan+0x22e/0x334
[<ffffffff802244e9>] ? default_wake_function+0x0/0xf
[<ffffffff8035236d>] tty_write+0x195/0x228
[<ffffffff80354842>] ? write_chan+0x0/0x334
[<ffffffff8027c23a>] vfs_write+0xae/0x137
[<ffffffff8027c6e3>] sys_write+0x47/0x70
[<ffffffff8020b1db>] system_call_after_swapgs+0x7b/0x80
which means 'entry' in __trace_special() is NULL.
[ mingo@elte.hu: that ftrace_special() was a leftover. ]
Signed-off-by: Pekka Paalanen <pq@iki.fi>
Cc: Steven Rostedt <srostedt@redhat.com>
Cc: proski@gnu.org
Cc: "Vegard Nossum" <vegard.nossum@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/semaphore.c')
-rw-r--r-- | kernel/semaphore.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/kernel/semaphore.c b/kernel/semaphore.c index 1a064adab658..aaaeae8244e7 100644 --- a/kernel/semaphore.c +++ b/kernel/semaphore.c @@ -54,7 +54,6 @@ void down(struct semaphore *sem) { unsigned long flags; - ftrace_special(sem->count, 0, __LINE__); spin_lock_irqsave(&sem->lock, flags); if (likely(sem->count > 0)) sem->count--; |