1
0
Fork 0
alistair23-linux/include/linux/qed
Yuval Basson 93af898b25 qed: Fix use after free in qed_chain_free
commit 8063f761cd upstream.

The qed_chain data structure was modified in
commit 1a4a69751f ("qed: Chain support for external PBL") to support
receiving an external pbl (due to iWARP FW requirements).
The pages pointed to by the pbl are allocated in qed_chain_alloc
and their virtual address are stored in an virtual addresses array to
enable accessing and freeing the data. The physical addresses however
weren't stored and were accessed directly from the external-pbl
during free.

Destroy-qp flow, leads to freeing the external pbl before the chain is
freed, when the chain is freed it tries accessing the already freed
external pbl, leading to a use-after-free. Therefore we need to store
the physical addresses in additional to the virtual addresses in a
new data structure.

Fixes: 1a4a69751f ("qed: Chain support for external PBL")
Signed-off-by: Michal Kalderon <mkalderon@marvell.com>
Signed-off-by: Yuval Bason <ybason@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-02 08:49:01 +02:00
..
common_hsi.h qed*: Utilize FW 8.37.7.0 2018-09-06 07:44:35 -07:00
eth_common.h qed*: Utilize FW 8.33.11.0 2018-03-29 14:18:02 -04:00
fcoe_common.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 440 2019-06-05 17:37:17 +02:00
iscsi_common.h qed*: Utilize FW 8.37.7.0 2018-09-06 07:44:35 -07:00
iwarp_common.h
qed_chain.h qed: Fix use after free in qed_chain_free 2020-05-02 08:49:01 +02:00
qed_eth_if.h qed/qede: Multi CoS support. 2018-08-09 14:05:30 -07:00
qed_fcoe_if.h
qed_if.h qed*: Fix size of config attribute dump. 2019-09-11 15:15:23 +01:00
qed_iov_if.h
qed_iscsi_if.h
qed_ll2_if.h qed: Add support for Unified Fabric Port. 2018-05-07 23:46:10 -04:00
qed_rdma_if.h qed*: Change dpi_addr to be denoted with __iomem 2019-07-25 15:03:26 -03:00
qede_rdma.h qede: Error recovery process 2019-01-28 10:58:41 -08:00
rdma_common.h qed*: Utilize FW 8.33.11.0 2018-03-29 14:18:02 -04:00
roce_common.h qed*: Utilize FW 8.37.2.0 2018-06-05 10:48:09 -04:00
storage_common.h
tcp_common.h