s390/qeth: fix use-after-free in error path
authorJulian Wiedmann <jwi@linux.ibm.com>
Mon, 4 Feb 2019 16:40:07 +0000 (17:40 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Feb 2019 17:43:48 +0000 (09:43 -0800)
commitafa0c5904ba16d59b0454f7ee4c807dae350f432
treeacf775612be44490db75c62b6a229e6279a93774
parent5065b2dd3e5f9247a6c9d67974bc0472bf561b9d
s390/qeth: fix use-after-free in error path

The error path in qeth_alloc_qdio_buffers() that takes care of
cleaning up the Output Queues is buggy. It first frees the queue, but
then calls qeth_clear_outq_buffers() with that very queue struct.

Make the call to qeth_clear_outq_buffers() part of the free action
(in the correct order), and while at it fix the naming of the helper.

Fixes: 0da9581ddb0f ("qeth: exploit asynchronous delivery of storage blocks")
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Alexandra Winter <wintera@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/s390/net/qeth_core_main.c