aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2025-05-06 19:09:22 +0200
committerStefano Brivio <sbrivio@redhat.com>2025-05-06 21:00:11 +0200
commit44bd27e6ae9cd1eda6142b197be05abd2dfd7e7a (patch)
treeb2104ee7f659d262e458dbf89c5bc239695137a1
parentda236e0fe9b2d552ba3e4a798c038fe3a9cf6438 (diff)
downloadpasst-44bd27e6ae9cd1eda6142b197be05abd2dfd7e7a.tar
passt-44bd27e6ae9cd1eda6142b197be05abd2dfd7e7a.tar.gz
passt-44bd27e6ae9cd1eda6142b197be05abd2dfd7e7a.tar.bz2
passt-44bd27e6ae9cd1eda6142b197be05abd2dfd7e7a.tar.lz
passt-44bd27e6ae9cd1eda6142b197be05abd2dfd7e7a.tar.xz
passt-44bd27e6ae9cd1eda6142b197be05abd2dfd7e7a.tar.zst
passt-44bd27e6ae9cd1eda6142b197be05abd2dfd7e7a.zip
Additional debugging suggested by Laurent
-rw-r--r--flow.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/flow.c b/flow.c
index c5718e3..55827f6 100644
--- a/flow.c
+++ b/flow.c
@@ -727,6 +727,16 @@ static flow_sidx_t flowside_lookup(const struct ctx *c, uint8_t proto,
flowside_eq(&flow->f.side[sidx.sidei], side)))
b = mod_sub(b, 1, FLOW_HASH_SIZE);
+ if (flow_sidx_valid(flow_hashtab[b]) &&
+ !(FLOW_PROTO(&flow->f) == proto &&
+ flow->f.pif[sidx.sidei] == pif &&
+ flowside_eq(&flow->f.side[sidx.sidei], side))) {
+ err("=== Podman issue #26073, flowside_lookup(), index: %i", FLOW_IDX(flow));
+ flow_err(flow, "");
+ flow_err_details(flow);
+ return FLOW_SIDX_NONE;
+ }
+
return flow_hashtab[b];
}