Message ID | 1402943456-7532-1-git-send-email-xerofoify@gmail.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On 6/16/2014 1:30 PM, Nicholas Krause wrote: > Signed-off-by: Nicholas Krause <xerofoify@gmail.com> > --- > drivers/infiniband/hw/cxgb4/cm.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c > index 5e153f6..c518411 100644 > --- a/drivers/infiniband/hw/cxgb4/cm.c > +++ b/drivers/infiniband/hw/cxgb4/cm.c > @@ -455,7 +455,10 @@ static void send_flowc(struct c4iw_ep *ep, struct sk_buff *skb) > unsigned int flowclen = 80; > struct fw_flowc_wr *flowc; > int i; > > + if (!skb) { > + kfree_skb(); > + pr_warn(MOD "%s failed to allocate skb.\n", __func__); > + } > skb = get_skb(skb, flowclen, GFP_KERNEL); Oops, shouldn't the if statement be after the call to get_skb()? :) (you're having a bad day ;)) > flowc = (struct fw_flowc_wr *)__skb_put(skb, flowclen); > One more nit: The comment is no longer correct. It should be something like: iw_cxgb4: in send_flowc(), handle a null skb return from get_skb() -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 6/16/2014 1:34 PM, Steve Wise wrote: > On 6/16/2014 1:30 PM, Nicholas Krause wrote: >> Signed-off-by: Nicholas Krause <xerofoify@gmail.com> >> --- >> drivers/infiniband/hw/cxgb4/cm.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/infiniband/hw/cxgb4/cm.c >> b/drivers/infiniband/hw/cxgb4/cm.c >> index 5e153f6..c518411 100644 >> --- a/drivers/infiniband/hw/cxgb4/cm.c >> +++ b/drivers/infiniband/hw/cxgb4/cm.c >> @@ -455,7 +455,10 @@ static void send_flowc(struct c4iw_ep *ep, >> struct sk_buff *skb) >> unsigned int flowclen = 80; >> struct fw_flowc_wr *flowc; >> int i; >> >> + if (!skb) { >> + kfree_skb(); >> + pr_warn(MOD "%s failed to allocate skb.\n", __func__); >> + } >> skb = get_skb(skb, flowclen, GFP_KERNEL); > > Oops, shouldn't the if statement be after the call to get_skb()? :) > (you're having a bad day ;)) > And you don't free anything. If get_skb() returns NULL, then log the warning and return. >> flowc = (struct fw_flowc_wr *)__skb_put(skb, flowclen); > > One more nit: The comment is no longer correct. It should be > something like: > > iw_cxgb4: in send_flowc(), handle a null skb return from get_skb() > > > -- > To unsubscribe from this list: send the line "unsubscribe > linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c index 5e153f6..c518411 100644 --- a/drivers/infiniband/hw/cxgb4/cm.c +++ b/drivers/infiniband/hw/cxgb4/cm.c @@ -455,7 +455,10 @@ static void send_flowc(struct c4iw_ep *ep, struct sk_buff *skb) unsigned int flowclen = 80; struct fw_flowc_wr *flowc; int i; + if (!skb) { + kfree_skb(); + pr_warn(MOD "%s failed to allocate skb.\n", __func__); + } skb = get_skb(skb, flowclen, GFP_KERNEL); flowc = (struct fw_flowc_wr *)__skb_put(skb, flowclen);
Signed-off-by: Nicholas Krause <xerofoify@gmail.com> --- drivers/infiniband/hw/cxgb4/cm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)