Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 31cd921d authored by Himangi Saraogi's avatar Himangi Saraogi Committed by Greg Kroah-Hartman
Browse files

staging: wlags49_h2: Fix use of skb after netif_rx



This patch moves a call to netif_rx(skb) after a subsequent reference to
skb, because netif_rx may call kfree_skb via enqueue_to_backlog on its
argument.

This was found using the following semantic match.

// <smpl>
@@
expression skb, e,e1;
@@

(
 netif_rx(skb);
|
 netif_rx_ni(skb);
)
  ... when != skb = e
(
  skb = e1
|
* skb
)
// </smpl>

Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7873311a
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -888,8 +888,6 @@ int wl_rx(struct net_device *dev)
				GET_PACKET(skb->dev, skb, pktlen);

				if (status == HCF_SUCCESS) {
					netif_rx(skb);

					if (port == 0) {
						lp->stats.rx_packets++;
						lp->stats.rx_bytes += pktlen;
@@ -918,6 +916,7 @@ int wl_rx(struct net_device *dev)
					}
#endif /* WIRELESS_SPY */
#endif /* WIRELESS_EXT */
					netif_rx(skb);
				} else {
					DBG_ERROR(DbgInfo,
						  "Rx request to card FAILED\n");