Messages in this thread | | | Date | Mon, 16 Jun 2014 11:45:01 -0400 | Subject | Re: [PATCHv4]Checks for Null value in function *get_skub | From | Nick Krause <> |
| |
Can we close this bug or is it still a issue as we can' return NULL from kfree or kfree_skb. Here is the bug ID 44631 I would close it if we are done with the bug otherwise I think there are no other issues with allocating a skb, Cheers Nick
On Mon, Jun 16, 2014 at 11:37 AM, Nick Krause <xerofoify@gmail.com> wrote: > Signed-off-by: Nicholas Krause <xerofoify@gmail.com> > --- > drivers/infiniband/hw/cxgb4/ > cm.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c > index f9477e2..2d56983 100644 > --- a/drivers/infiniband/hw/cxgb4/cm.c > +++ b/drivers/infiniband/hw/cxgb4/cm.c > @@ -340,15 +340,13 @@ static int status2errno(int status) > */ > static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t gfp) > { > if (skb && !skb_is_nonlinear(skb) && !skb_cloned(skb)) { > skb_trim(skb, 0); > skb_get(skb); > skb_reset_transport_header(skb); > } else { > + if (skb) > /* NULL is ignored */. > + kfree_skb (skb); > skb = alloc_skb(len, gfp); > } > t4_set_arp_err_handler(skb, NULL, NULL); > > On Mon, Jun 16, 2014 at 11:30 AM, Steve Wise > <swise@opengridcomputing.com> wrote: >> On 6/16/2014 10:25 AM, Nicholas Krause wrote: >>> >>> Signed-off-by: Nicholas Krause <xerofoify@gmail.com> >>> --- >>> drivers/infiniband/hw/cxgb4/cm.c | 8 +++----- >>> 1 file changed, 3 insertions(+), 5 deletions(-) >>> >>> diff --git a/drivers/infiniband/hw/cxgb4/cm.c >>> b/drivers/infiniband/hw/cxgb4/cm.c >>> index f9477e2..2d56983 100644 >>> --- a/drivers/infiniband/hw/cxgb4/cm.c >>> +++ b/drivers/infiniband/hw/cxgb4/cm.c >>> @@ -340,15 +340,13 @@ static int status2errno(int status) >>> */ >>> static struct sk_buff *get_skb(struct sk_buff *skb, int len, gfp_t gfp) >>> { >>> if (skb && !skb_is_nonlinear(skb) && !skb_cloned(skb)) { >>> skb_trim(skb, 0); >>> skb_get(skb); >>> skb_reset_transport_header(skb); >>> } else { >>> + if (skb) >>> + kfree_skb (skb); >>> skb = alloc_skb(len, gfp); >>> } >>> t4_set_arp_err_handler(skb, NULL, NULL); >> >> >> Can you change the comment? This patch is now fixing a potential skb leak. >> Also, kfree_sb() will ignore NULL ptrs, so we could just always call it. >> But I'd add a comment like /* NULL is ignored */. >> >> Thanks, >> >> Steve.
| |