Repository navigation
Conversation
When a later test child is killed by a signal, exit_code may still contain zero from the preceding child. Return EXIT_FAILURE explicitly so Meson cannot report a false success. Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2293> (cherry picked from commit 495ea74) (cherry picked from commit 21e4929c355df7f525d0d0299781ccb6daa83780) (cherry picked from commit d9abd11) PR: #3777
When a later test child is killed by a signal, exit_code may still contain zero from the preceding child. Return EXIT_FAILURE explicitly so Meson cannot report a false success. Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2293> (cherry picked from commit 495ea74) (cherry picked from commit 21e4929c355df7f525d0d0299781ccb6daa83780) (cherry picked from commit d9abd11) Signed-off-by: Lukáš Lipinský <18076-Mr-Tao@users.noreply.gitlab.freedesktop.org>
5d47240 to
10da3c7
Compare
When a later test child is killed by a signal, exit_code may still contain zero from the preceding child. Return EXIT_FAILURE explicitly so Meson cannot report a false success. Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2293> (cherry picked from commit 495ea74) (cherry picked from commit 21e4929c355df7f525d0d0299781ccb6daa83780) (cherry picked from commit d9abd11) PR: #3777
When a later test child is killed by a signal, exit_code may still contain zero from the preceding child. Return EXIT_FAILURE explicitly so Meson cannot report a false success. Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2293> (cherry picked from commit 495ea74) (cherry picked from commit 21e4929c355df7f525d0d0299781ccb6daa83780) (cherry picked from commit d9abd11) PR: #3777
Review: pass — and this one hides crashes silently, so it is worth takingThe one-line change is correct. The reason it matters is worth writing down, The bugcpid = fork();
if (cpid) {
waitpid(cpid, &csts, 0);
if (!WIFEXITED(csts))
goto child_failed; /* child died on a signal */
exit_code = WEXITSTATUS(csts); /* <-- jumped over */
if (exit_code != 0) {
child_failed:
printf(" FAIL\n");
exit(exit_code); /* <-- uses the stale/initial value */
}
}
The second case is the one that matters:
Advisory (non-blocking): the two failure modes are now indistinguishableAfter the change, "child was killed by SIGSEGV" and "child returned 1" produce the Expectation-setting for whoever merges thisLanes may turn red after this lands, and that would be the fix working rather Rule 2 — backport assessmentNot a security or product-correctness backport candidate, and I want to be precise It is nevertheless worth backporting to Rule 3 — driver ABINo impact, verified by construction rather than by grep alone: |
Backport-Übersicht — Merge-Status liveDie Referenzen stehen als Task-Liste, damit GitHub jede beim Rendern zu einem
Auflösung: |
When a later test child is killed by a signal, exit_code may still contain zero from the preceding child. Return EXIT_FAILURE explicitly so Meson cannot report a false success. Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2293> (cherry picked from commit 495ea74) (cherry picked from commit 21e4929c355df7f525d0d0299781ccb6daa83780) (cherry picked from commit d9abd11) PR: #3777
When a later test child is killed by a signal, exit_code may still contain zero from the preceding child. Return EXIT_FAILURE explicitly so Meson cannot report a false success.
Part-of: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2293
(cherry picked from commit 495ea74)
(cherry picked from commit 21e4929c355df7f525d0d0299781ccb6daa83780)
(cherry picked from commit d9abd11)