Fix fallback signal issue.

Add signo for target thread in fallback path;
Update test for seccomp tombstone thread abort.

Bug: 336946834

Test: debuggerd_test
Test: Send fatal signal to process with NO_NEW_PRIVS
Change-Id: Ie9d77a93da9cd89ab7093b8949f311e03d96ec50
This commit is contained in:
Xiaohui Niu 2024-04-26 11:08:15 +08:00
parent 6f5205229b
commit 7bfbe41714
2 changed files with 4 additions and 1 deletions

View file

@ -1667,6 +1667,9 @@ TEST_F(CrasherTest, seccomp_tombstone_thread_abort) {
std::string result;
ConsumeFd(std::move(output_fd), &result);
ASSERT_MATCH(
result,
R"(signal 6 \(SIGABRT\))");
ASSERT_BACKTRACE_FRAME(result, "abort");
}

View file

@ -76,7 +76,7 @@ void engrave_tombstone_ucontext(int tombstone_fd, int proto_fd, uint64_t abort_m
threads[target_tid] = ThreadInfo {
.registers = std::move(regs), .uid = uid, .tid = target_tid,
.thread_name = std::move(thread_name), .pid = pid, .command_line = std::move(command_line),
.selinux_label = std::move(selinux_label), .siginfo = siginfo,
.selinux_label = std::move(selinux_label), .siginfo = siginfo, .signo = siginfo->si_signo,
// Only supported on aarch64 for now.
#if defined(__aarch64__)
.tagged_addr_ctrl = prctl(PR_GET_TAGGED_ADDR_CTRL, 0, 0, 0, 0),