Message ID | 20180404235455.17241-4-johndale@cisco.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Ferruh Yigit |
Headers | show |
Context | Check | Description |
---|---|---|
ci/checkpatch | success | coding style OK |
ci/Intel-compilation | fail | apply issues |
On 4/5/2018 12:54 AM, John Daley wrote: > The enic code called from rte_eth_dev_set_mtu() was assuming that the > Rx queues are already set up via a call to rte_eth_tx_queue_setup(). > OVS calls rte_eth_dev_set_mtu() before rte_eth_rx_queue_setup() and > a null pointer was dereferenced. > > Fixes: c3e09182bcd6 ("net/enic: support scatter Rx in MTU update") > Cc: stable@dpdk.org > > Signed-off-by: John Daley <johndale@cisco.com> > Reviewed-by: Hyong Youb Kim <hyonkim@cisco.com> Applied to dpdk-next-net/master, thanks.
diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c index f01a77c0a..f39dfbe32 100644 --- a/drivers/net/enic/enic_main.c +++ b/drivers/net/enic/enic_main.c @@ -1444,6 +1444,8 @@ int enic_set_mtu(struct enic *enic, uint16_t new_mtu) /* free and reallocate RQs with the new MTU */ for (rq_idx = 0; rq_idx < enic->rq_count; rq_idx++) { rq = &enic->rq[enic_rte_rq_idx_to_sop_idx(rq_idx)]; + if (!rq->in_use) + continue; enic_free_rq(rq); rc = enic_alloc_rq(enic, rq_idx, rq->socket_id, rq->mp,