Marius Strobl
3db348b54a
- In _iflib_fl_refill(), don't mark an RX buffer as available in the
...
corresponding bitmap before adding an mbuf has actually succeeded.
Previously, m_gethdr(M_NOWAIT, ...) failing caused a "hole" in the
RX ring but not in its bitmap. One implication of such a hole was
that in a subsequent call to _iflib_fl_refill() with the RX buffer
accounting still indicating another reclaimable buffer, bit_ffc(3)
nevertheless returned -1 in frag_idx which in turn caused havoc
when used as an index. Thus, additionally assert that frag_idx is
0 or greater.
Another possible consequence of a hole in the RX ring was a NULL-
dereference when trying to use the unallocated mbuf, for example
in iflib_rxd_pkt_get().
While at it, make the variable declarations in _iflib_fl_refill()
conform to style(9) and remove redundant checks already performed
by bit_ffc{,_at}(3).
- In iflib_queues_alloc(), don't pass redundant M_ZERO to bit_alloc(3).
Reported and tested by: pho
2019-01-26 21:35:51 +00:00
..
2019-01-09 01:11:19 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:23:17 +00:00
2017-11-20 19:43:44 +00:00
2018-06-13 17:04:41 +00:00
2018-06-13 17:04:41 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2018-07-24 16:35:52 +00:00
2017-11-20 19:43:44 +00:00
2018-06-19 10:34:45 +00:00
2019-01-09 01:11:19 +00:00
2017-11-27 15:23:17 +00:00
2018-05-31 09:11:21 +00:00
2018-03-27 15:29:32 +00:00
2017-11-27 15:23:17 +00:00
2018-08-22 18:19:56 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2018-04-13 21:18:04 +00:00
2018-07-24 16:35:52 +00:00
2018-05-11 05:00:40 +00:00
2018-07-24 16:35:52 +00:00
2018-05-11 20:08:28 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2018-07-24 16:35:52 +00:00
2017-11-20 19:43:44 +00:00
2018-07-24 16:35:52 +00:00
2018-07-24 16:35:52 +00:00
2017-11-27 15:23:17 +00:00
2018-07-24 16:35:52 +00:00
2018-10-30 20:08:48 +00:00
2018-03-27 20:51:49 +00:00
2018-10-21 18:06:15 +00:00
2018-10-21 18:06:15 +00:00
2018-10-21 18:13:45 +00:00
2018-10-21 18:13:45 +00:00
2018-11-16 14:21:57 +00:00
2017-02-06 08:49:57 +00:00
2018-10-30 09:53:57 +00:00
2018-05-24 23:21:23 +00:00
2019-01-09 01:11:19 +00:00
2018-05-24 23:21:23 +00:00
2017-11-20 19:43:44 +00:00
2018-07-24 16:35:52 +00:00
2018-10-23 13:11:45 +00:00
2018-04-23 21:10:33 +00:00
2018-08-22 18:19:56 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2018-05-18 20:13:34 +00:00
2018-10-27 04:45:28 +00:00
2018-12-11 19:32:16 +00:00
2017-11-27 15:23:17 +00:00
2017-11-27 15:23:17 +00:00
2018-12-11 19:32:16 +00:00
2017-11-20 19:43:44 +00:00
2019-01-09 01:11:19 +00:00
2018-08-16 23:46:38 +00:00
2019-01-10 00:37:14 +00:00
2018-05-19 05:27:49 +00:00
2017-12-30 04:03:53 +00:00
2019-01-22 17:39:26 +00:00
2018-11-26 13:42:18 +00:00
2018-05-11 20:08:28 +00:00
2018-05-11 20:08:28 +00:00
2018-11-27 20:01:05 +00:00
2019-01-26 21:35:51 +00:00
2019-01-22 01:11:17 +00:00
2017-11-20 19:43:44 +00:00
2019-01-03 23:06:05 +00:00
2019-01-03 23:06:05 +00:00
2017-11-27 15:23:17 +00:00
2018-07-24 16:35:52 +00:00
2017-11-27 15:23:17 +00:00
2018-04-12 07:20:50 +00:00
2018-12-05 11:57:16 +00:00
2018-12-05 11:57:16 +00:00
2019-01-23 14:51:36 +00:00
2018-03-23 16:56:44 +00:00
2018-03-23 16:56:44 +00:00
2017-11-20 19:43:44 +00:00
2018-11-02 16:57:23 +00:00
2018-06-16 08:26:23 +00:00
2017-11-20 19:43:44 +00:00
2018-06-16 08:26:23 +00:00
2018-06-16 19:21:09 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-07-24 03:59:50 +00:00
2018-06-16 08:26:23 +00:00
2019-01-09 01:11:19 +00:00
2018-11-26 13:42:18 +00:00
2017-10-11 06:08:01 +00:00
2017-10-11 06:08:01 +00:00
2019-01-11 00:45:22 +00:00
2017-12-05 18:42:07 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2018-10-30 20:45:15 +00:00
2018-09-12 08:05:33 +00:00