Allow rt_tgsigqueueinfo() on Linux.
This Crashpad CL:
https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3278691
will cause us to start issuing the syscall rt_tgsigqueueinfo()
on all Linux platforms. Therefore we need to allow the syscall on
those platforms.
Change-Id: I3194299b1e54d75b890d34ce49eaa278434bf889
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3284128
Auto-Submit: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/main@{#942356}
NOKEYCHECK=True
GitOrigin-RevId: 214d28ed0b35f5efc6414c59b5443198130aba5a
diff --git a/linux/seccomp-bpf-helpers/baseline_policy.cc b/linux/seccomp-bpf-helpers/baseline_policy.cc
index 049e921..6bcb599 100644
--- a/linux/seccomp-bpf-helpers/baseline_policy.cc
+++ b/linux/seccomp-bpf-helpers/baseline_policy.cc
@@ -358,6 +358,14 @@
}
#endif
+ // https://crbug.com/644759
+ // https://chromium-review.googlesource.com/c/crashpad/crashpad/+/3278691
+ if (sysno == __NR_rt_tgsigqueueinfo) {
+ const Arg<pid_t> tgid(0);
+ return If(tgid == current_pid, Allow())
+ .Else(Error(EPERM));
+ }
+
if (IsBaselinePolicyWatched(sysno)) {
// Previously unseen syscalls. TODO(jln): some of these should
// be denied gracefully right away.
diff --git a/linux/seccomp-bpf-helpers/baseline_policy_android.cc b/linux/seccomp-bpf-helpers/baseline_policy_android.cc
index 7610acd..dfb80a6 100644
--- a/linux/seccomp-bpf-helpers/baseline_policy_android.cc
+++ b/linux/seccomp-bpf-helpers/baseline_policy_android.cc
@@ -160,13 +160,6 @@
return RestrictPtrace();
}
- // https://crbug.com/644759
- if (sysno == __NR_rt_tgsigqueueinfo) {
- const Arg<pid_t> tgid(0);
- return If(tgid == policy_pid(), Allow())
- .Else(Error(EPERM));
- }
-
// https://crbug.com/766245
if (sysno == __NR_process_vm_readv) {
const Arg<pid_t> pid(0);