Message ID | 20220303033450.2108-1-baijiaju1990@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: qlogic: check the return value of dma_alloc_coherent() in qed_vf_hw_prepare() | expand |
On Wed, 2 Mar 2022 19:34:50 -0800 Jia-Ju Bai wrote: > --- a/drivers/net/ethernet/qlogic/qed/qed_vf.c > +++ b/drivers/net/ethernet/qlogic/qed/qed_vf.c > @@ -513,6 +513,9 @@ int qed_vf_hw_prepare(struct qed_hwfn *p_hwfn) > p_iov->bulletin.size, > &p_iov->bulletin.phys, > GFP_KERNEL); > + if (!p_iov->bulletin.p_virt) > + goto free_vf2pf_request; leaking the reply buffer
On 2022/3/4 13:19, Jakub Kicinski wrote: > On Wed, 2 Mar 2022 19:34:50 -0800 Jia-Ju Bai wrote: >> --- a/drivers/net/ethernet/qlogic/qed/qed_vf.c >> +++ b/drivers/net/ethernet/qlogic/qed/qed_vf.c >> @@ -513,6 +513,9 @@ int qed_vf_hw_prepare(struct qed_hwfn *p_hwfn) >> p_iov->bulletin.size, >> &p_iov->bulletin.phys, >> GFP_KERNEL); >> + if (!p_iov->bulletin.p_virt) >> + goto free_vf2pf_request; > leaking the reply buffer Hi Jakub, Thanks for pointing out this problem. I will send a V2 patch. Best wishes, Jia-Ju Bai
diff --git a/drivers/net/ethernet/qlogic/qed/qed_vf.c b/drivers/net/ethernet/qlogic/qed/qed_vf.c index 597cd9cd57b5..5786d7ab6310 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_vf.c +++ b/drivers/net/ethernet/qlogic/qed/qed_vf.c @@ -513,6 +513,9 @@ int qed_vf_hw_prepare(struct qed_hwfn *p_hwfn) p_iov->bulletin.size, &p_iov->bulletin.phys, GFP_KERNEL); + if (!p_iov->bulletin.p_virt) + goto free_vf2pf_request; + DP_VERBOSE(p_hwfn, QED_MSG_IOV, "VF's bulletin Board [%p virt 0x%llx phys 0x%08x bytes]\n", p_iov->bulletin.p_virt,
The function dma_alloc_coherent() in qed_vf_hw_prepare() can fail, so its return value should be checked. Fixes: 1408cc1fa48c ("qed: Introduce VFs") Reported-by: TOTE Robot <oslab@tsinghua.edu.cn> Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> --- drivers/net/ethernet/qlogic/qed/qed_vf.c | 3 +++ 1 file changed, 3 insertions(+)