summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRicardo B. Marlière (SUSE) <ricardo@marliere.net>2026-08-10 17:56:00 -0300
committerChristian Brauner <brauner@kernel.org>2026-08-13 12:20:42 +0200
commitdcacab904fe78d60840ba947a104993ee9ded887 (patch)
tree31fbf108ca8f557bc0d13de4e4a3dddecc0e48e0 /lib
parentab018b7733bd8f5f998d476528c24924ebeb9959 (diff)
selftests/namespaces: Fix racy pipe handshake in timens and pidns_separate
In timens_separate and pidns_separate both the child and the grandchild write a 'Y' readiness byte to the same pipe, but the parent expects a single 'Y' followed by the grandchild's pid. If the grandchild's byte arrives first, the parent takes it for the child's and reads the pid misaligned, ending up with a garbage value. The parent stores that pid in self->grandchild_pid so that FIXTURE_TEARDOWN() can kill the grandchild. A garbage pid leaves the real grandchild alive in pause(), holding the test runner's TAP pipe open and hanging the whole collection. The grandchild has nothing to report, so drop its write() and leave the child as the sole writer. Fixes: fdb48976b637 ("selftests/namespaces: Kill grandchild in nsid fixture teardown") Signed-off-by: Ricardo B. Marlière (SUSE) <ricardo@marliere.net> Link: https://patch.msgid.link/20260810-selftests-namespaces_race-v1-1-4307e833783e@marliere.net Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions