aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2025-05-06 17:07:52 +0200
committerStefano Brivio <sbrivio@redhat.com>2025-05-06 17:11:23 +0200
commitda236e0fe9b2d552ba3e4a798c038fe3a9cf6438 (patch)
tree201de35dc5f6a4ce920a1425ba95b3879e46273e
parent587980ca1e9d5645f6738f67ec3f15cc61a7efa3 (diff)
downloadpasst-da236e0fe9b2d552ba3e4a798c038fe3a9cf6438.tar
passt-da236e0fe9b2d552ba3e4a798c038fe3a9cf6438.tar.gz
passt-da236e0fe9b2d552ba3e4a798c038fe3a9cf6438.tar.bz2
passt-da236e0fe9b2d552ba3e4a798c038fe3a9cf6438.tar.lz
passt-da236e0fe9b2d552ba3e4a798c038fe3a9cf6438.tar.xz
passt-da236e0fe9b2d552ba3e4a798c038fe3a9cf6438.tar.zst
passt-da236e0fe9b2d552ba3e4a798c038fe3a9cf6438.zip
Debugging changes for Podman issue #26073
Link: https://github.com/containers/podman/issues/26073 Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r--Makefile2
-rw-r--r--isolation.c2
-rw-r--r--udp_flow.c11
3 files changed, 12 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 3328f83..5da913f 100644
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,7 @@ endif
FLAGS := -Wall -Wextra -Wno-format-zero-length -Wformat-security
FLAGS += -pedantic -std=c11 -D_XOPEN_SOURCE=700 -D_GNU_SOURCE
-FLAGS += $(FORTIFY_FLAG) -O2 -pie -fPIE
+FLAGS += $(FORTIFY_FLAG) -g -Og -pie -fPIE
FLAGS += -DPAGE_SIZE=$(shell getconf PAGE_SIZE)
FLAGS += -DVERSION=\"$(VERSION)\"
FLAGS += -DDUAL_STACK_SOCKETS=$(DUAL_STACK_SOCKETS)
diff --git a/isolation.c b/isolation.c
index c944fb3..72d8513 100644
--- a/isolation.c
+++ b/isolation.c
@@ -377,8 +377,6 @@ void isolate_postfork(const struct ctx *c)
{
struct sock_fprog prog;
- prctl(PR_SET_DUMPABLE, 0);
-
switch (c->mode) {
case MODE_PASST:
prog.len = (unsigned short)ARRAY_SIZE(filter_passt);
diff --git a/udp_flow.c b/udp_flow.c
index fea1cf3..bc12240 100644
--- a/udp_flow.c
+++ b/udp_flow.c
@@ -32,6 +32,17 @@ struct udp_flow *udp_at_sidx(flow_sidx_t sidx)
if (!flow)
return NULL;
+ if (flow->f.type != FLOW_UDP) {
+ union flow *next = &flowtab[++flow_first_free];
+
+ err("=== Podman issue #26073, index: %i", FLOW_IDX(flow));
+ err("=== state: %i, type: %i", flow->f.state, flow->f.type);
+ err("=== n: %i, next: %i", next->free.n, next->free.next);
+ flow_err(flow, "");
+ flow_err_details(flow);
+ ASSERT(false);
+ }
+
ASSERT(flow->f.type == FLOW_UDP);
return &flow->udp;
}