svn commit: r343430 - head/sys/net
Andrew Gallatin
gallatin at FreeBSD.org
Fri Jan 25 15:02:20 UTC 2019
Author: gallatin
Date: Fri Jan 25 15:02:18 2019
New Revision: 343430
URL: https://svnweb.freebsd.org/changeset/base/343430
Log:
Fix an iflib driver unload panic introduced in r343085
The new loop to sync and unload descriptors was indexed
by "i", rather than "j". The panic was caused by "i"
being advanced rather than "j", and eventually becoming
out of bounds.
Reviewed by: kib
MFC after: 3 days
Sponsored by: Netflix
Modified:
head/sys/net/iflib.c
Modified: head/sys/net/iflib.c
==============================================================================
--- head/sys/net/iflib.c Fri Jan 25 14:46:13 2019 (r343429)
+++ head/sys/net/iflib.c Fri Jan 25 15:02:18 2019 (r343430)
@@ -2197,17 +2197,17 @@ iflib_rx_sds_free(iflib_rxq_t rxq)
fl = &rxq->ifr_fl[i];
if (fl->ifl_desc_tag != NULL) {
if (fl->ifl_sds.ifsd_map != NULL) {
- for (j = 0; j < fl->ifl_size; i++) {
- if (fl->ifl_sds.ifsd_map[i] ==
+ for (j = 0; j < fl->ifl_size; j++) {
+ if (fl->ifl_sds.ifsd_map[j] ==
NULL)
- continue;
+ continue;
bus_dmamap_sync(
fl->ifl_desc_tag,
- fl->ifl_sds.ifsd_map[i],
+ fl->ifl_sds.ifsd_map[j],
BUS_DMASYNC_POSTREAD);
bus_dmamap_unload(
fl->ifl_desc_tag,
- fl->ifl_sds.ifsd_map[i]);
+ fl->ifl_sds.ifsd_map[j]);
}
}
bus_dma_tag_destroy(fl->ifl_desc_tag);
More information about the svn-src-all
mailing list