lkml.org 
[lkml]   [2017]   [Oct]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH net-next] qed: Set error code for allocation failures
    From
    Date
    Hi, Dan

    On 2017/10/27 19:52, Dan Carpenter wrote:
    > On Fri, Oct 27, 2017 at 05:32:42PM +0800, Yunsheng Lin wrote:
    >> Hi, Dan
    >>
    >> On 2017/10/27 14:40, Dan Carpenter wrote:
    >>> There are several places where we accidentally return success when
    >>> kcalloc() fails.
    >>>
    >>> Fixes: fcb39f6c10b2 ("qed: Add mpa buffer descriptors for storing and processing mpa fpdus")
    >>> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    >>>
    >>> diff --git a/drivers/net/ethernet/qlogic/qed/qed_iwarp.c b/drivers/net/ethernet/qlogic/qed/qed_iwarp.c
    >>> index 409041eab189..6366f2ef82b7 100644
    >>> --- a/drivers/net/ethernet/qlogic/qed/qed_iwarp.c
    >>> +++ b/drivers/net/ethernet/qlogic/qed/qed_iwarp.c
    >>> @@ -2585,7 +2585,7 @@ qed_iwarp_ll2_start(struct qed_hwfn *p_hwfn,
    >>> struct qed_ll2_cbs cbs;
    >>> u32 mpa_buff_size;
    >>> u16 n_ooo_bufs;
    >>> - int rc = 0;
    >>> + int rc;
    >>> int i;
    >>>
    >>> iwarp_info = &p_hwfn->p_rdma_info->iwarp;
    >>> @@ -2696,6 +2696,7 @@ qed_iwarp_ll2_start(struct qed_hwfn *p_hwfn,
    >>> if (rc)
    >>> goto err;
    >>>
    >>> + rc = -ENOMEM;
    >>> iwarp_info->partial_fpdus = kcalloc((u16)p_hwfn->p_rdma_info->num_qps,
    >>> sizeof(*iwarp_info->partial_fpdus),
    >>> GFP_KERNEL);
    >>
    >> Does the memory allocated here need to be freed when error happens below?
    >>
    >
    > Hm... I think you're right that it leaks. Also I'm confused by the
    > qed_iwarp_ll2_alloc_buffers() allocation. The comment in there says
    > that /* buffers will be deallocated by qed_ll2 */ but qed_ll2 is not
    > a function name or something which is useful to grep.

    Yes, I am confused by it too.

    Even in qed_iwarp_ll2_alloc_buffers, if kzcalloc failed, it do not clean
    up the memory allocated by pre kzcalloc.

    >
    > regards,
    > dan carpenter
    >
    >
    > .
    >

    \
     
     \ /
      Last update: 2017-10-28 20:22    [W:2.299 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site