[9610] wlbt: SMAPPER: add defence to access SKB
authorDebabrata Purohit <d.purohit@samsung.com>
Fri, 3 Aug 2018 15:04:54 +0000 (16:04 +0100)
committerhskang <hs1218.kang@samsung.com>
Fri, 17 Aug 2018 00:33:02 +0000 (20:33 -0400)
hip4_smapper_get_skb_data() dereferences pointer
without checking it's valid or not.
Add defence for it.

Change-Id: I4933202ac72fd1ae0d5476b43cd183f5394488e3
SCSC-Bug-Id: SSB-42553
Signed-off-by: Debabrata Purohit <d.purohit@samsung.com>
drivers/net/wireless/scsc/hip4_smapper.c

index 7109b7c7e9603e5bdfc195eae1e1d1fe6cfeae38..ca0dfb78a2a181f4e8e2875e1c94dc93793eebef 100644 (file)
@@ -259,9 +259,14 @@ void *hip4_smapper_get_skb_data(struct slsi_dev *sdev, struct slsi_hip4 *hip, st
        spin_lock_irqsave(&control->smapper_lock, flags);
        skb = (struct sk_buff *)cb->skb_addr;
 
+       if (!skb) {
+               SLSI_DBG4_NODEV(SLSI_SMAPPER, "NULL SKB smapper\n");
+               spin_unlock_irqrestore(&control->smapper_lock, flags);
+               return NULL;
+       }
+
        SLSI_DBG4_NODEV(SLSI_SMAPPER, "Get SKB smapper: 0x%p, SKB fapi 0x%p\n", skb, skb_fapi);
        spin_unlock_irqrestore(&control->smapper_lock, flags);
-
        return skb->data;
 }