[ovs-dev] [PATCH v2] dpif-netlink: fix using uninitialized info.tc_modify_flow_deleted in out label
wangyunjian
wangyunjian at huawei.com
Thu Apr 8 13:33:12 UTC 2021
From: Yunjian Wang <wangyunjian at huawei.com>
Before info.tc_modify_flow_deleted is assigned a value, error
processing of other statements goes to the out label. In the
out label, the uninitialized variant is used for condition
determination, which may cause uncertain behavior.
Fixes: 65b84d4a32bd ("dpif-netlink: avoid netlink modify flow put op failed after tc modify flow put op failed.")
Signed-off-by: Mengfan Lv <lvmengfan at huawei.com>
Signed-off-by: Yunjian Wang <wangyunjian at huawei.com>
---
v2:
update commit log
---
lib/dpif-netlink.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/dpif-netlink.c b/lib/dpif-netlink.c
index ceb56c685..50520f8c0 100644
--- a/lib/dpif-netlink.c
+++ b/lib/dpif-netlink.c
@@ -2061,6 +2061,7 @@ parse_flow_put(struct dpif_netlink *dpif, struct dpif_flow_put *put)
uint8_t csum_on = false;
int err;
+ info.tc_modify_flow_deleted = false;
if (put->flags & DPIF_FP_PROBE) {
return EOPNOTSUPP;
}
@@ -2105,7 +2106,6 @@ parse_flow_put(struct dpif_netlink *dpif, struct dpif_flow_put *put)
info.tunnel_csum_on = csum_on;
info.recirc_id_shared_with_tc = (dpif->user_features
& OVS_DP_F_TC_RECIRC_SHARING);
- info.tc_modify_flow_deleted = false;
err = netdev_flow_put(dev, &match,
CONST_CAST(struct nlattr *, put->actions),
put->actions_len,
--
2.23.0
More information about the dev
mailing list