提交 abe27a88 编写于 作者: T Thomas Falcon 提交者: David S. Miller

ibmvnic: Check for NULL skb's in NAPI poll routine

After introduction of commit d0869c00, there were some instances of
RX queue entries from a previous session (before the device was closed
and reopened) returned to the NAPI polling routine. Since the corresponding
socket buffers were freed, this resulted in a panic on reopen. Include
a check for a NULL skb here to avoid this.

Fixes: d0869c00 ("ibmvnic: Clean RX pool buffers during device close")
Signed-off-by: NThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 79c0ef3e
...@@ -1901,6 +1901,11 @@ static int ibmvnic_poll(struct napi_struct *napi, int budget) ...@@ -1901,6 +1901,11 @@ static int ibmvnic_poll(struct napi_struct *napi, int budget)
dev_kfree_skb_any(rx_buff->skb); dev_kfree_skb_any(rx_buff->skb);
remove_buff_from_pool(adapter, rx_buff); remove_buff_from_pool(adapter, rx_buff);
continue; continue;
} else if (!rx_buff->skb) {
/* free the entry */
next->rx_comp.first = 0;
remove_buff_from_pool(adapter, rx_buff);
continue;
} }
length = be32_to_cpu(next->rx_comp.len); length = be32_to_cpu(next->rx_comp.len);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册