[SCSI] iscsi_transport: Check iscsi interface skb allocation return value
authorMike Christie <michaelc@cs.wisc.edu>
Wed, 30 May 2007 17:57:07 +0000 (12:57 -0500)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Fri, 1 Jun 2007 16:02:05 +0000 (12:02 -0400)
Let's not oops when we cannot allocate a skb! Add a check
for if alloc_skb fails.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/scsi_transport_iscsi.c

index caf1836..4fbd8e1 100644 (file)
@@ -609,12 +609,10 @@ iscsi_if_send_reply(int pid, int seq, int type, int done, int multi,
        int t = done ? NLMSG_DONE : type;
 
        skb = alloc_skb(len, GFP_ATOMIC);
-       /*
-        * FIXME:
-        * user is supposed to react on iferror == -ENOMEM;
-        * see iscsi_if_rx().
-        */
-       BUG_ON(!skb);
+       if (!skb) {
+               printk(KERN_ERR "Could not allocate skb to send reply.\n");
+               return -ENOMEM;
+       }
 
        nlh = __nlmsg_put(skb, pid, seq, t, (len - sizeof(*nlh)), 0);
        nlh->nlmsg_flags = flags;