mirror of https://gitee.com/openkylin/linux.git
tulip: Fix null dereference in uli526x_rx_packet()
Acked-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a6d36d5689
commit
ac90a14936
|
@ -851,13 +851,15 @@ static void uli526x_rx_packet(struct net_device *dev, struct uli526x_board_info
|
||||||
|
|
||||||
if ( !(rdes0 & 0x8000) ||
|
if ( !(rdes0 & 0x8000) ||
|
||||||
((db->cr6_data & CR6_PM) && (rxlen>6)) ) {
|
((db->cr6_data & CR6_PM) && (rxlen>6)) ) {
|
||||||
|
struct sk_buff *new_skb = NULL;
|
||||||
|
|
||||||
skb = rxptr->rx_skb_ptr;
|
skb = rxptr->rx_skb_ptr;
|
||||||
|
|
||||||
/* Good packet, send to upper layer */
|
/* Good packet, send to upper layer */
|
||||||
/* Shorst packet used new SKB */
|
/* Shorst packet used new SKB */
|
||||||
if ( (rxlen < RX_COPY_SIZE) &&
|
if ((rxlen < RX_COPY_SIZE) &&
|
||||||
( (skb = dev_alloc_skb(rxlen + 2) )
|
((new_skb = dev_alloc_skb(rxlen + 2) != NULL))) {
|
||||||
!= NULL) ) {
|
skb = new_skb;
|
||||||
/* size less than COPY_SIZE, allocate a rxlen SKB */
|
/* size less than COPY_SIZE, allocate a rxlen SKB */
|
||||||
skb_reserve(skb, 2); /* 16byte align */
|
skb_reserve(skb, 2); /* 16byte align */
|
||||||
memcpy(skb_put(skb, rxlen),
|
memcpy(skb_put(skb, rxlen),
|
||||||
|
|
Loading…
Reference in New Issue