[Differential] D8685: Fix a false positive in a buf_ring assert
rstone (Ryan Stone)
phabric-noreply at FreeBSD.org
Thu Dec 1 21:08:51 UTC 2016
This revision was automatically updated to reflect the committed changes.
rstone marked an inline comment as done.
Closed by commit rS309372: Fix a false positive in a buf_ring assert (authored by rstone).
CHANGED PRIOR TO COMMIT
https://reviews.freebsd.org/D8685?vs=22633&id=22651#toc
REPOSITORY
rS FreeBSD src repository
CHANGES SINCE LAST UPDATE
https://reviews.freebsd.org/D8685?vs=22633&id=22651
REVISION DETAIL
https://reviews.freebsd.org/D8685
AFFECTED FILES
head/sys/sys/buf_ring.h
CHANGE DETAILS
diff --git a/head/sys/sys/buf_ring.h b/head/sys/sys/buf_ring.h
--- a/head/sys/sys/buf_ring.h
+++ b/head/sys/sys/buf_ring.h
@@ -67,11 +67,13 @@
uint32_t prod_head, prod_next, cons_tail;
#ifdef DEBUG_BUFRING
int i;
- for (i = br->br_cons_head; i != br->br_prod_head;
- i = ((i + 1) & br->br_cons_mask))
- if(br->br_ring[i] == buf)
- panic("buf=%p already enqueue at %d prod=%d cons=%d",
- buf, i, br->br_prod_tail, br->br_cons_tail);
+ if (br->br_cons_head != br->br_prod_head) {
+ for (i = (br->br_cons_head + 1) & br->br_cons_mask; i != br->br_prod_head;
+ i = ((i + 1) & br->br_cons_mask))
+ if(br->br_ring[i] == buf)
+ panic("buf=%p already enqueue at %d prod=%d cons=%d",
+ buf, i, br->br_prod_tail, br->br_cons_tail);
+ }
#endif
critical_enter();
do {
EMAIL PREFERENCES
https://reviews.freebsd.org/settings/panel/emailpreferences/
To: rstone, hselasky
Cc: hselasky, freebsd-net-list, emaste
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8685.22651.patch
Type: text/x-patch
Size: 800 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20161201/fb303939/attachment.bin>
More information about the freebsd-net
mailing list