• Carsten Emde's avatar
    tracing: prevent NULL pointer dereference in ftrace_raw_event_block_bio_bounce · fe63b94a
    Carsten Emde authored
    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: default avatarCarsten Emde <C.Emde@osadl.org>
    LKML-Reference: <4AAAC9B1.9060505@osadl.org>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    fe63b94a
block.h 12.6 KB