RE: [PATCH] Checks for Null return of skb_alloc in send_flowc

From: Steve Wise
Date: Tue Jun 17 2014 - 11:30:25 EST




> -----Original Message-----
> From: Nicholas Krause [mailto:xerofoify@xxxxxxxxx]
> Sent: Tuesday, June 17, 2014 10:25 AM
> To: swise@xxxxxxxxxxx
> Cc: roland@xxxxxxxxxx; sean.hefty@xxxxxxxxx; hal.rosenstock@xxxxxxxxx; linux-
> rdma@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] Checks for Null return of skb_alloc in send_flowc
>
> Signed-off-by: Nicholas Krause <xerofoify@xxxxxxxxx>
> ---
> drivers/infiniband/hw/cxgb4/cm.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
> index 5e153f6..7e3d663 100644
> --- a/drivers/infiniband/hw/cxgb4/cm.c
> +++ b/drivers/infiniband/hw/cxgb4/cm.c
> @@ -457,6 +457,10 @@ static void send_flowc(struct c4iw_ep *ep, struct sk_buff *skb)
> int i;
>
> skb = get_skb(skb, flowclen, GFP_KERNEL);
> + if (!skb) {
> + kfree_skb(skb);
> + pr_warn(MOD "%s failed to allocate skb.\n", __func__);
> + }

You still don't have this right. :(

Like this:

diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c
index 5e153f6..3c55e88 100644
--- a/drivers/infiniband/hw/cxgb4/cm.c
+++ b/drivers/infiniband/hw/cxgb4/cm.c
@@ -457,6 +457,8 @@ static void send_flowc(struct c4iw_ep *ep, struct sk_buff *skb)
int i;

skb = get_skb(skb, flowclen, GFP_KERNEL);
+ if (!skb)
+ return;
flowc = (struct fw_flowc_wr *)__skb_put(skb, flowclen);

flowc->op_to_nparams = cpu_to_be32(FW_WR_OP(FW_FLOWC_WR) |



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/