]> git.itanic.dy.fi Git - linux-stable/commitdiff
net: gso_test: fix build with gcc-12 and earlier
authorFlorian Westphal <fw@strlen.de>
Thu, 12 Oct 2023 12:08:56 +0000 (14:08 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 12 Oct 2023 13:34:08 +0000 (15:34 +0200)
gcc 12 errors out with:
net/core/gso_test.c:58:48: error: initializer element is not constant
   58 |                 .segs = (const unsigned int[]) { gso_size },

This version isn't old (2022), so switch to preprocessor-bsaed constant
instead of 'static const int'.

Cc: Willem de Bruijn <willemb@google.com>
Reported-by: Tasmiya Nalatwad <tasmiya@linux.vnet.ibm.com>
Closes: https://lore.kernel.org/netdev/79fbe35c-4dd1-4f27-acb2-7a60794bc348@linux.vnet.ibm.com/
Fixes: 1b4fa28a8b07 ("net: parametrize skb_segment unit test to expand coverage")
Signed-off-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Link: https://lore.kernel.org/r/20231012120901.10765-1-fw@strlen.de
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/core/gso_test.c

index c1a6cffb6f9614607015df2c83f1928a43de2704..c4b13de6abfb4c5fbbecb0875c24563e7e979bbf 100644 (file)
@@ -4,7 +4,7 @@
 #include <linux/skbuff.h>
 
 static const char hdr[] = "abcdefgh";
-static const int gso_size = 1000;
+#define GSO_TEST_SIZE 1000
 
 static void __init_skb(struct sk_buff *skb)
 {
@@ -18,7 +18,7 @@ static void __init_skb(struct sk_buff *skb)
 
        /* proto is arbitrary, as long as not ETH_P_TEB or vlan */
        skb->protocol = htons(ETH_P_ATALK);
-       skb_shinfo(skb)->gso_size = gso_size;
+       skb_shinfo(skb)->gso_size = GSO_TEST_SIZE;
 }
 
 enum gso_test_nr {
@@ -53,70 +53,70 @@ static struct gso_test_case cases[] = {
        {
                .id = GSO_TEST_NO_GSO,
                .name = "no_gso",
-               .linear_len = gso_size,
+               .linear_len = GSO_TEST_SIZE,
                .nr_segs = 1,
-               .segs = (const unsigned int[]) { gso_size },
+               .segs = (const unsigned int[]) { GSO_TEST_SIZE },
        },
        {
                .id = GSO_TEST_LINEAR,
                .name = "linear",
-               .linear_len = gso_size + gso_size + 1,
+               .linear_len = GSO_TEST_SIZE + GSO_TEST_SIZE + 1,
                .nr_segs = 3,
-               .segs = (const unsigned int[]) { gso_size, gso_size, 1 },
+               .segs = (const unsigned int[]) { GSO_TEST_SIZE, GSO_TEST_SIZE, 1 },
        },
        {
                .id = GSO_TEST_FRAGS,
                .name = "frags",
-               .linear_len = gso_size,
+               .linear_len = GSO_TEST_SIZE,
                .nr_frags = 2,
-               .frags = (const unsigned int[]) { gso_size, 1 },
+               .frags = (const unsigned int[]) { GSO_TEST_SIZE, 1 },
                .nr_segs = 3,
-               .segs = (const unsigned int[]) { gso_size, gso_size, 1 },
+               .segs = (const unsigned int[]) { GSO_TEST_SIZE, GSO_TEST_SIZE, 1 },
        },
        {
                .id = GSO_TEST_FRAGS_PURE,
                .name = "frags_pure",
                .nr_frags = 3,
-               .frags = (const unsigned int[]) { gso_size, gso_size, 2 },
+               .frags = (const unsigned int[]) { GSO_TEST_SIZE, GSO_TEST_SIZE, 2 },
                .nr_segs = 3,
-               .segs = (const unsigned int[]) { gso_size, gso_size, 2 },
+               .segs = (const unsigned int[]) { GSO_TEST_SIZE, GSO_TEST_SIZE, 2 },
        },
        {
                .id = GSO_TEST_GSO_PARTIAL,
                .name = "gso_partial",
-               .linear_len = gso_size,
+               .linear_len = GSO_TEST_SIZE,
                .nr_frags = 2,
-               .frags = (const unsigned int[]) { gso_size, 3 },
+               .frags = (const unsigned int[]) { GSO_TEST_SIZE, 3 },
                .nr_segs = 2,
-               .segs = (const unsigned int[]) { 2 * gso_size, 3 },
+               .segs = (const unsigned int[]) { 2 * GSO_TEST_SIZE, 3 },
        },
        {
                /* commit 89319d3801d1: frag_list on mss boundaries */
                .id = GSO_TEST_FRAG_LIST,
                .name = "frag_list",
-               .linear_len = gso_size,
+               .linear_len = GSO_TEST_SIZE,
                .nr_frag_skbs = 2,
-               .frag_skbs = (const unsigned int[]) { gso_size, gso_size },
+               .frag_skbs = (const unsigned int[]) { GSO_TEST_SIZE, GSO_TEST_SIZE },
                .nr_segs = 3,
-               .segs = (const unsigned int[]) { gso_size, gso_size, gso_size },
+               .segs = (const unsigned int[]) { GSO_TEST_SIZE, GSO_TEST_SIZE, GSO_TEST_SIZE },
        },
        {
                .id = GSO_TEST_FRAG_LIST_PURE,
                .name = "frag_list_pure",
                .nr_frag_skbs = 2,
-               .frag_skbs = (const unsigned int[]) { gso_size, gso_size },
+               .frag_skbs = (const unsigned int[]) { GSO_TEST_SIZE, GSO_TEST_SIZE },
                .nr_segs = 2,
-               .segs = (const unsigned int[]) { gso_size, gso_size },
+               .segs = (const unsigned int[]) { GSO_TEST_SIZE, GSO_TEST_SIZE },
        },
        {
                /* commit 43170c4e0ba7: GRO of frag_list trains */
                .id = GSO_TEST_FRAG_LIST_NON_UNIFORM,
                .name = "frag_list_non_uniform",
-               .linear_len = gso_size,
+               .linear_len = GSO_TEST_SIZE,
                .nr_frag_skbs = 4,
-               .frag_skbs = (const unsigned int[]) { gso_size, 1, gso_size, 2 },
+               .frag_skbs = (const unsigned int[]) { GSO_TEST_SIZE, 1, GSO_TEST_SIZE, 2 },
                .nr_segs = 4,
-               .segs = (const unsigned int[]) { gso_size, gso_size, gso_size, 3 },
+               .segs = (const unsigned int[]) { GSO_TEST_SIZE, GSO_TEST_SIZE, GSO_TEST_SIZE, 3 },
        },
        {
                /* commit 3953c46c3ac7 ("sk_buff: allow segmenting based on frag sizes") and