• F
    scsi: Change scsi sense buf size to 252 · c5f52875
    Fam Zheng 提交于
    Current buffer size fails the assersion check in like
    
        hw/scsi/scsi-bus.c:1655:    assert(req->sense_len <= sizeof(req->sense));
    
    when backend (block/iscsi.c) returns more data then 96.
    
    Exercise the core dump path by booting an Gentoo ISO with scsi-generic
    device backed with iscsi (built with libiscsi 1.7.0):
    
        x86_64-softmmu/qemu-system-x86_64 \
        -drive file=iscsi://localhost:3260/iqn.foobar/0,if=none,id=drive-disk \
        -device virtio-scsi-pci,id=scsi1,bus=pci.0,addr=0x6 \
        -device scsi-generic,drive=drive-disk,bus=scsi1.0,id=iscsi-disk \
        -boot d \
        -cdrom gentoo.iso
    
        qemu-system-x86_64: hw/scsi/scsi-bus.c:1655: scsi_req_complete:
        Assertion `req->sense_len <= sizeof(req->sense)' failed.
    
    According to SPC-4, section 4.5.2.1, 252 is the limit of sense data. So
    increase the value to fix it.
    
    Also remove duplicated define for the macro.
    Signed-off-by: NFam Zheng <famz@redhat.com>
    Reviewed-by: NBenoit Canet <benoit@irqsave.net>
    Cc: qemu-stable@nongnu.org
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    c5f52875
scsi-generic.c 14.2 KB