]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
sctp: snmp: do not use SNMP_MIB_SENTINEL anymore
authorEric Dumazet <edumazet@google.com>
Fri, 5 Sep 2025 16:58:10 +0000 (16:58 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 9 Sep 2025 01:06:21 +0000 (18:06 -0700)
Use ARRAY_SIZE(), so that we know the limit at compile time.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Acked-by: Xin Long <lucien.xin@gmail.com>
Link: https://patch.msgid.link/20250905165813.1470708-7-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/sctp/proc.c

index 74bff317e205c841b9862f7afa80fed811d53c89..1ed281f3c355d559d82e4fa2be10c191f787c85e 100644 (file)
@@ -52,21 +52,21 @@ static const struct snmp_mib sctp_snmp_list[] = {
        SNMP_MIB_ITEM("SctpInPktBacklog", SCTP_MIB_IN_PKT_BACKLOG),
        SNMP_MIB_ITEM("SctpInPktDiscards", SCTP_MIB_IN_PKT_DISCARDS),
        SNMP_MIB_ITEM("SctpInDataChunkDiscards", SCTP_MIB_IN_DATA_CHUNK_DISCARDS),
-       SNMP_MIB_SENTINEL
 };
 
 /* Display sctp snmp mib statistics(/proc/net/sctp/snmp). */
 static int sctp_snmp_seq_show(struct seq_file *seq, void *v)
 {
-       unsigned long buff[SCTP_MIB_MAX];
+       unsigned long buff[ARRAY_SIZE(sctp_snmp_list)];
+       const int cnt = ARRAY_SIZE(sctp_snmp_list);
        struct net *net = seq->private;
        int i;
 
-       memset(buff, 0, sizeof(unsigned long) * SCTP_MIB_MAX);
+       memset(buff, 0, sizeof(buff));
 
-       snmp_get_cpu_field_batch(buff, sctp_snmp_list,
-                                net->sctp.sctp_statistics);
-       for (i = 0; sctp_snmp_list[i].name; i++)
+       snmp_get_cpu_field_batch_cnt(buff, sctp_snmp_list, cnt,
+                                    net->sctp.sctp_statistics);
+       for (i = 0; i < cnt; i++)
                seq_printf(seq, "%-32s\t%ld\n", sctp_snmp_list[i].name,
                                                buff[i]);