From 08aa715966eaf3dc1ed77a1522fb44b7a23d1b63 Mon Sep 17 00:00:00 2001
From: Jeff Vander Stoep <jeffv@google.com>
Date: Wed, 13 Jun 2018 22:10:37 -0700
Subject: [PATCH] crash_dump: disallow ptrace of TCB components

Remove permissions and add neverallow assertion.

(cherry picked from commit f1554f1588eab05eca7eb7ccba41d5955a563837)

Bug: 110107376
Test: kill -6 <components excluded from ptrace>
Change-Id: I2dc872f5c02749fbaf8ca6bc7e3e38404151442c
---
 private/crash_dump.te | 25 +++++++++++++++++++++++++
 public/crash_dump.te  |  8 --------
 2 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/private/crash_dump.te b/private/crash_dump.te
index fb73f08a9..186977f31 100644
--- a/private/crash_dump.te
+++ b/private/crash_dump.te
@@ -1 +1,26 @@
 typeattribute crash_dump coredomain;
+
+allow crash_dump {
+  domain
+  -bpfloader
+  -crash_dump
+  -init
+  -kernel
+  -keystore
+  -logd
+  -ueventd
+  -vendor_init
+  -vold
+}:process { ptrace signal sigchld sigstop sigkill };
+
+neverallow crash_dump {
+  bpfloader
+  init
+  kernel
+  keystore
+  logd
+  userdebug_or_eng(`-logd')
+  ueventd
+  vendor_init
+  vold
+}:process { ptrace signal sigstop sigkill };
diff --git a/public/crash_dump.te b/public/crash_dump.te
index f778d2818..cd1e5a8e4 100644
--- a/public/crash_dump.te
+++ b/public/crash_dump.te
@@ -1,14 +1,6 @@
 type crash_dump, domain;
 type crash_dump_exec, exec_type, file_type;
 
-allow crash_dump {
-  domain
-  -init
-  -crash_dump
-  -keystore
-  -logd
-}:process { ptrace signal sigchld sigstop sigkill };
-
 # crash_dump might inherit CAP_SYS_PTRACE from a privileged process,
 # which will result in an audit log even when it's allowed to trace.
 dontaudit crash_dump self:global_capability_class_set { sys_ptrace };
-- 
GitLab