[ovs-dev] [PATCH 02/10] ofproto-dpif: Uninitialize 'xlate_cache' to free resources
William Tu
u9012063 at gmail.com
Tue Sep 17 16:16:43 UTC 2019
On Wed, Sep 11, 2019 at 02:18:28PM -0700, Yifeng Sun wrote:
> Valgrind reported:
>
> 1210: ofproto-dpif - continuation after clone
>
> ==32205== 4,392 (1,440 direct, 2,952 indirect) bytes in 12 blocks are definitely lost in loss record 359 of 362
> ==32205== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==32205== by 0x532574: xmalloc (util.c:138)
> ==32205== by 0x4F98CA: ofpbuf_init (ofpbuf.c:123)
> ==32205== by 0x42C07B: nxt_resume (ofproto-dpif.c:5110)
> ==32205== by 0x41796F: handle_nxt_resume (ofproto.c:3677)
> ==32205== by 0x424583: handle_single_part_openflow (ofproto.c:8473)
> ==32205== by 0x424583: handle_openflow (ofproto.c:8606)
> ==32205== by 0x4579E2: ofconn_run (connmgr.c:1318)
> ==32205== by 0x4579E2: connmgr_run (connmgr.c:355)
> ==32205== by 0x41E0F5: ofproto_run (ofproto.c:1845)
> ==32205== by 0x40BA63: bridge_run__ (bridge.c:2971)
> ==32205== by 0x410CF3: bridge_run (bridge.c:3029)
> ==32205== by 0x407614: main (ovs-vswitchd.c:127)
>
> This is because 'xcache' was not destroyed properly. This patch fixes it.
>
> Signed-off-by: Yifeng Sun <pkusunyifeng at gmail.com>
LGTM
Acked-by: William Tu <u9012063 at gmail.com>
> ---
> ofproto/ofproto-dpif.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
> index 751535249e21..46fa1357163b 100644
> --- a/ofproto/ofproto-dpif.c
> +++ b/ofproto/ofproto-dpif.c
> @@ -5148,6 +5148,7 @@ nxt_resume(struct ofproto *ofproto_,
> /* Clean up. */
> ofpbuf_uninit(&odp_actions);
> dp_packet_uninit(&packet);
> + xlate_cache_uninit(&xcache);
>
> return error;
> }
> --
> 2.7.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
More information about the dev
mailing list