Skip to content
  • Mike Snitzer's avatar
    dm flakey: fix crash on read when corrupt_bio_byte not set · 1212268f
    Mike Snitzer authored
    The following BUG is hit on the first read that is submitted to a dm
    flakey test device while the device is "down" if the corrupt_bio_byte
    feature wasn't requested when the device's table was loaded.
    
    Example DM table that will hit this BUG:
    0 2097152 flakey 8:0 2048 0 30
    
    This bug was introduced by commit a3998799
    (dm flakey: add corrupt_bio_byte feature) in v3.1-rc1.
    
    BUG: unable to handle kernel paging request at ffff8801cfce3fff
    IP: [<ffffffffa008c233>] corrupt_bio_data+0x6e/0xae [dm_flakey]
    PGD 1606063 PUD 0
    Oops: 0002 [#1
    
    ] SMP
    ...
    Call Trace:
     <IRQ>
     [<ffffffffa008c2b5>] flakey_end_io+0x42/0x48 [dm_flakey]
     [<ffffffffa00dca98>] clone_endio+0x54/0xb6 [dm_mod]
     [<ffffffff81130587>] bio_endio+0x2d/0x2f
     [<ffffffff811c819a>] req_bio_endio+0x96/0x9f
     [<ffffffff811c94b9>] blk_update_request+0x1dc/0x3a9
     [<ffffffff812f5ee2>] ? rcu_read_unlock+0x21/0x23
     [<ffffffff811c96a6>] blk_update_bidi_request+0x20/0x6e
     [<ffffffff811c9713>] blk_end_bidi_request+0x1f/0x5d
     [<ffffffff811c978d>] blk_end_request+0x10/0x12
     [<ffffffff8128f450>] scsi_io_completion+0x1e5/0x4b1
     [<ffffffff812882a9>] scsi_finish_command+0xec/0xf5
     [<ffffffff8128f830>] scsi_softirq_done+0xff/0x108
     [<ffffffff811ce284>] blk_done_softirq+0x84/0x98
     [<ffffffff81048d19>] __do_softirq+0xe3/0x1d5
     [<ffffffff8138f83f>] ? _raw_spin_lock+0x62/0x69
     [<ffffffff810997cf>] ? handle_irq_event+0x4c/0x61
     [<ffffffff8139833c>] call_softirq+0x1c/0x30
     [<ffffffff81003b37>] do_softirq+0x4b/0xa3
     [<ffffffff81048a39>] irq_exit+0x53/0xca
     [<ffffffff81398acd>] do_IRQ+0x9d/0xb4
     [<ffffffff81390333>] common_interrupt+0x73/0x73
    ...
    
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    Cc: stable@vger.kernel.org # 3.1+
    Signed-off-by: default avatarAlasdair G Kergon <agk@redhat.com>
    1212268f