tracing: prevent NULL pointer dereference in ftrace_raw_event_block_bio_bounce
authorCarsten Emde <Carsten.Emde@osadl.org>
Fri, 11 Sep 2009 22:05:37 +0000 (00:05 +0200)
committerSteven Rostedt <rostedt@goodmis.org>
Sun, 13 Sep 2009 01:31:19 +0000 (21:31 -0400)
commitfe63b94a430c0c8058de317f0a8ce921c69dbee4
tree113a32a157b4629e7ca37debdc0cdc59a4c11e52
parent689fd8b65d669b96d612ccc37d6fb87bf7ed6907
tracing: prevent NULL pointer dereference in ftrace_raw_event_block_bio_bounce

Booting 2.6.31 and executing
   echo 1 >/sys/kernel/debug/tracing/events/enable
leads to
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<c032a583>] ftrace_raw_event_block_bio_bounce+0x4b/0xb9

Apparently,
   bio = bio_map_user(q, NULL, uaddr, len, reading, gfp_mask);
is called in block/blk-map.c:58 where bio->bi_bdev in set to NULL and
still is NULL when an attempt is made to evaluate bio->bi_bdev->bd_dev
in include/trace/events/block.h:189.

The tracepoint should ensure bio->bi_bdev is not dereferenced, if NULL.

Signed-off-by: Carsten Emde <C.Emde@osadl.org>
LKML-Reference: <4AAAC9B1.9060505@osadl.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/trace/events/block.h