On 3/28/24 17:56, Paolo Valerio wrote:
> In the flush tuple code path, while populating the conn_key,
> reverse_icmp_type() gets called for both icmp and icmpv6 cases,
> while, depending on the proto, its respective helper should be
> called, instead.
>
> The above leads to an abort:
>
> [...]
> __GI_abort () at abort.c:79
> reverse_icmp_type (type=128 '\200') at lib/conntrack.c:1795
> tuple_to_conn_key (...) at lib/conntrack.c:2590
> in conntrack_flush_tuple (...) at lib/conntrack.c:2787
> in dpif_netdev_ct_flush (...) at lib/dpif-netdev.c:9618
> ct_dpif_flush_tuple (...) at lib/ct-dpif.c:331
> ct_dpif_flush (...) at lib/ct-dpif.c:361
> dpctl_flush_conntrack (...) at lib/dpctl.c:1797
> [...]
>
> Fix it by calling reverse_icmp6_type() when needed.
> Furthermore, self tests have been modified in order to exercise and
> check this behavior.
>
> Fixes: 271e48a0e244 ("conntrack: Support conntrack flush by ct 5-tuple")
> Reported-at: https://issues.redhat.com/browse/FDP-447
> Signed-off-by: Paolo Valerio <[email protected]>
> ---
> v2 (Ilya):
> - stripped down backtrace
> - aligned ternary
> ---
> lib/conntrack.c | 4 +++-
> tests/system-traffic.at | 10 +++++++++-
> 2 files changed, 12 insertions(+), 2 deletions(-)
Thanks! Applied and backported down to 2.17.
Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev