hamradio: avoid null deref v3
This should address the problems in version 1 (lazy) and version 2 (ugly). Bump the stats on orig_dev not on the newly assigned NULL dev variable. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
c064efca92
Коммит
f65d1f082c
|
@ -248,6 +248,7 @@ static netdev_tx_t bpq_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
{
|
||||
unsigned char *ptr;
|
||||
struct bpqdev *bpq;
|
||||
struct net_device *orig_dev;
|
||||
int size;
|
||||
|
||||
/*
|
||||
|
@ -282,8 +283,9 @@ static netdev_tx_t bpq_xmit(struct sk_buff *skb, struct net_device *dev)
|
|||
|
||||
bpq = netdev_priv(dev);
|
||||
|
||||
orig_dev = dev;
|
||||
if ((dev = bpq_get_ether_dev(dev)) == NULL) {
|
||||
dev->stats.tx_dropped++;
|
||||
orig_dev->stats.tx_dropped++;
|
||||
kfree_skb(skb);
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче