With --enable-Werror and --with-dpdk=no:

In function 'dp_packet_reset_offload',
    inlined from 'dp_packet_init__' at ../lib/dp-packet.c:35:5,
    inlined from 'dp_packet_use__' at ../lib/dp-packet.c:50:5,
    inlined from 'dp_packet_use' at ../lib/dp-packet.c:60:5,
    inlined from 'dp_packet_init' at ../lib/dp-packet.c:126:5,
    inlined from 'dp_packet_new' at ../lib/dp-packet.c:154:5:
../lib/dp-packet.h:944:32: error: 'MEM[(uint32_t *)p_14 + 16B]' may be used 
uninitialized [-Werror=maybe-uninitialized]
  944 |     *dp_packet_ol_flags_ptr(p) &= ~DP_PACKET_OL_SUPPORTED_MASK;
      |                                ^

Fixes: a47e2db209e4 ("dp-packet: Refactor offloading API.")
Signed-off-by: Eli Britstein <el...@nvidia.com>
---
 lib/dp-packet.c | 1 -
 lib/dp-packet.h | 7 ++++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/dp-packet.c b/lib/dp-packet.c
index 4538d2a61..f654752a1 100644
--- a/lib/dp-packet.c
+++ b/lib/dp-packet.c
@@ -32,7 +32,6 @@ dp_packet_init__(struct dp_packet *b, size_t allocated, enum 
dp_packet_source so
     dp_packet_reset_offsets(b);
     pkt_metadata_init(&b->md, 0);
     dp_packet_reset_cutlen(b);
-    dp_packet_reset_offload(b);
     /* Initialize implementation-specific fields of dp_packet. */
     dp_packet_init_specific(b);
     /* By default assume the packet type to be Ethernet. */
diff --git a/lib/dp-packet.h b/lib/dp-packet.h
index 55eeaab2c..9864dfcbf 100644
--- a/lib/dp-packet.h
+++ b/lib/dp-packet.h
@@ -572,7 +572,8 @@ dp_packet_init_specific(struct dp_packet *p)
 {
     /* This initialization is needed for packets that do not come from DPDK
      * interfaces, when vswitchd is built with --with-dpdk. */
-    p->mbuf.ol_flags = p->mbuf.tx_offload = p->mbuf.packet_type = 0;
+    *dp_packet_ol_flags_ptr(p) = 0;
+    p->mbuf.tx_offload = p->mbuf.packet_type = 0;
     p->mbuf.nb_segs = 1;
     p->mbuf.next = NULL;
 }
@@ -638,9 +639,9 @@ dp_packet_set_allocated(struct dp_packet *b, uint16_t s)
 #else /* DPDK_NETDEV */
 
 static inline void
-dp_packet_init_specific(struct dp_packet *p OVS_UNUSED)
+dp_packet_init_specific(struct dp_packet *p)
 {
-    /* There are no implementation-specific fields for initialization. */
+    *dp_packet_ol_flags_ptr(p) = 0;
 }
 
 static inline void *
-- 
2.26.2.1730.g385c171

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to