• Julian Wiedmann's avatar
    s390/qeth: make qeth_qdio_handle_aob() more robust · d2e46004
    Julian Wiedmann authored
    When qeth_qdio_handle_aob() frees dangling allocations in the notified
    TX buffer, there are rare tear-down cases where
    qeth_drain_output_queue() would later call qeth_clear_output_buffer()
    for the same buffer - and thus end up walking the buffer a second time
    to check for dangling kmem_cache allocations.
    
    Luckily current code previously scrubs such a buffer, so
    qeth_clear_output_buffer() would find buf->buffer->element[i].addr as
    NULL and not do anything. But this is fragile, and we can easily improve
    it by consistently clearing the ->is_header flag after freeing the
    allocation.
    Signed-off-by: default avatarJulian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d2e46004
qeth_core_main.c 192 KB