[ovs-dev] [PATCH] netdev-linux: fix compile error in nl_msg_put_act_police

Simon Horman simon.horman at netronome.com
Tue Jul 13 11:33:52 UTC 2021


From: Yong Xu <yong.xu at corigine.com>

Use 'memset' to init memory to 0.

This resolves a build problem with clang on Ubuntu 16.04 on ARM (in Travis):

libtool: compile:  clang -DHAVE_CONFIG_H -I. -I ./include -I ./include
-I ./lib -I ./lib -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare
-Wpointer-arith -Wformat -Wformat-security -Wswitch-enum
-Wunused-parameter -Wbad-function-cast -Wcast-align
-Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes
-Wmissing-field-initializers -Wthread-safety -fno-strict-aliasing
-Wswitch-bool -Wlogical-not-parentheses -Wsizeof-array-argument
-Wshift-negative-value -Qunused-arguments -Wshadow
-Warray-bounds-pointer-arithmetic -Werror -Werror -g -O2
-Wno-error=unused-command-line-argument -DHAVE_AVX512F -MT
lib/netlink-conntrack.lo -MD -MP -MF lib/.deps/netlink-conntrack.Tpo
-c lib/netlink-conntrack.c -o lib/netlink-conntrack.o
lib/netdev-linux.c:2638:38: error: missing field 'action' initializer
[-Werror,-Wmissing-field-initializers]
    struct tc_police null_police = {0};
                                     ^
1 error generated.
make[2]: *** [lib/netdev-linux.lo] Error 1
make[2]: *** Waiting for unfinished jobs....

Fixes: c2567e533 ("add port-based ingress policing based packet-per-second rate-limiting")
Reported-by: David Marchand <david.marchand at redhat.com>
Signed-off-by: Yong Xu <yong.xu at corigine.com>
Signed-off-by: Simon Horman <simon.horman at netronome.com>
---
 lib/netdev-linux.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
index d5e693464..60dd13891 100644
--- a/lib/netdev-linux.c
+++ b/lib/netdev-linux.c
@@ -2635,7 +2635,9 @@ nl_msg_put_act_police(struct ofpbuf *request, struct tc_police police,
     size_t offset, act_offset;
     uint32_t prio = 0;
     /* used for PPS, set rate as 0 to act as a single action */
-    struct tc_police null_police = {0};
+    struct tc_police null_police;
+
+    memset(&null_police, 0, sizeof null_police);
 
     if (police.rate.rate) {
         nl_msg_act_police_start_nest(request, ++prio, &offset, &act_offset);
-- 
2.20.1



More information about the dev mailing list