svn commit: r366463 - stable/12/sys/dev/cxgbe
Navdeep Parhar
np at FreeBSD.org
Mon Oct 5 19:45:12 UTC 2020
Author: np
Date: Mon Oct 5 19:45:11 2020
New Revision: 366463
URL: https://svnweb.freebsd.org/changeset/base/366463
Log:
MFC r366354:
cxgbe(4): validate largest_rx_cluster and safest_rx_cluster.
These tunables can only be set to a valid cluster size (2K, 4K, 9K, or
16K) as documented in the man page. Anything else could lead to a
panic on interface up.
Reported by: mav@
Sponsored by: Chelsio Communications
Modified:
stable/12/sys/dev/cxgbe/t4_sge.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/dev/cxgbe/t4_sge.c
==============================================================================
--- stable/12/sys/dev/cxgbe/t4_sge.c Mon Oct 5 19:38:51 2020 (r366462)
+++ stable/12/sys/dev/cxgbe/t4_sge.c Mon Oct 5 19:45:11 2020 (r366463)
@@ -538,6 +538,28 @@ t4_sge_modload(void)
tscale = 1;
}
+ if (largest_rx_cluster != MCLBYTES &&
+#if MJUMPAGESIZE != MCLBYTES
+ largest_rx_cluster != MJUMPAGESIZE &&
+#endif
+ largest_rx_cluster != MJUM9BYTES &&
+ largest_rx_cluster != MJUM16BYTES) {
+ printf("Invalid hw.cxgbe.largest_rx_cluster value (%d),"
+ " using %d instead.\n", largest_rx_cluster, MJUM16BYTES);
+ largest_rx_cluster = MJUM16BYTES;
+ }
+
+ if (safest_rx_cluster != MCLBYTES &&
+#if MJUMPAGESIZE != MCLBYTES
+ safest_rx_cluster != MJUMPAGESIZE &&
+#endif
+ safest_rx_cluster != MJUM9BYTES &&
+ safest_rx_cluster != MJUM16BYTES) {
+ printf("Invalid hw.cxgbe.safest_rx_cluster value (%d),"
+ " using %d instead.\n", safest_rx_cluster, MJUMPAGESIZE);
+ safest_rx_cluster = MJUMPAGESIZE;
+ }
+
extfree_refs = counter_u64_alloc(M_WAITOK);
extfree_rels = counter_u64_alloc(M_WAITOK);
pullups = counter_u64_alloc(M_WAITOK);
More information about the svn-src-stable-12
mailing list