Skip to content
Snippets Groups Projects
  1. Jul 24, 2017
    • Jeff Vander Stoep's avatar
      Move domain_deprecated into private policy · 7c34e83f
      Jeff Vander Stoep authored
      This attribute is being actively removed from policy. Since
      attributes are not being versioned, partners must not be able to
      access and use this attribute. Move it from private and verify in
      the logs that rild and tee are not using these permissions.
      
      Bug: 38316109
      Test: build and boot Marlin
      Test: Verify that rild and tee are not being granted any of these
            permissions.
      Merged-In: I31beeb5bdf3885195310b086c1af3432dc6a349b
      Change-Id: I31beeb5bdf3885195310b086c1af3432dc6a349b
      (cherry picked from commit 76aab82c)
      7c34e83f
  2. Jul 18, 2017
  3. Jul 13, 2017
    • Stephen Smalley's avatar
      sepolicy: Define validate_trans permission · 50992311
      Stephen Smalley authored
      
      Kernel commit f9df6458218f4fe ("selinux: export validatetrans
      decisions") introduced a /sys/fs/selinux/validatetrans pseudo file
      for use by userspace file system servers and defined a new validatetrans
      permission to control its use.
      
      Define the new permission in the Android SELinux policy.
      This change only defines the new permission; it does not allow it
      to any domains by default.
      
      This avoids a kernel message warning about the undefined permission on
      the policy load, ala:
      SELinux:  Permission validate_trans in class security not defined in policy.
      
      Test: Policy builds
      
      Change-Id: Ib922a83b7d8f94905207663a72f7a1bc3db8d2c2
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      50992311
    • Lorenzo Colitti's avatar
      Revert "Temporarily revert the SELinux policy for persist.netd.stable_secret." · 5b3efd3b
      Lorenzo Colitti authored
      This change must only be submitted when device-specific policies
      have been reverted.
      
      This reverts commit 07e631d2.
      
      Bug: 17613910
      Test: builds
      Change-Id: Ie33e293107bf1eba2498f2422d941544c76b8cad
      Merged-In: I356c39a5dc955b3d7c28d8c7baf2887a17beb272
      5b3efd3b
    • Andreas Gampe's avatar
      App: Allow wrapped app to send pid · ee694980
      Andreas Gampe authored
      Allow wrapped app to send pid back to zygote.
      
      Bug: 63566721
      Bug: 63635227
      Test: lunch angler-userdebug && m
      Test: lunch angler-user && m
      Test: lunch angler-user && m && fastboot flashall && m cts && cts-tradefed run commandAndExit cts-dev -m CtsWrapWrapDebugTestCases
      Change-Id: Ie1b41c3eb124aa5ee321c124d0121a0e965f0f0e
      ee694980
  4. Jul 11, 2017
    • Jeff Vander Stoep's avatar
      domain_deprecated: remove rootfs access · a12aad45
      Jeff Vander Stoep authored
      Grant audited permissions collected in logs.
      
      tcontext=platform_app
      avc: granted { getattr } for comm=496E666C6174657254687265616420
      path="/" dev="dm-0" ino=2 scontext=u:r:platform_app:s0:c512,c768
      tcontext=u:object_r:rootfs:s0 tclass=dir
      
      tcontext=system_app
      avc: granted { getattr } for comm="android:ui" path="/" dev="dm-0"
      scontext=u:r:system_app:s0 tcontext=u:object_r:rootfs:s0 tclass=dir
      avc: granted { getattr } for comm="android:ui" path="/" dev="dm-0"
      scontext=u:r:system_app:s0 tcontext=u:object_r:rootfs:s0 tclass=dir
      
      tcontext=update_engine
      avc: granted { getattr } for comm="update_engine" path="/" dev="dm-0"
      ino=2 scontext=u:r:update_engine:s0 tcontext=u:object_r:rootfs:s0
      tclass=dir
      avc: granted { getattr } for comm="update_engine" path="/fstab.foo"
      dev="dm-0" ino=25 scontext=u:r:update_engine:s0
      tcontext=u:object_r:rootfs:s0 tclass=file
      avc: granted { read open } for comm="update_engine" path="/fstab.foo"
      dev="dm-0" ino=25 scontext=u:r:update_engine:s0
      tcontext=u:object_r:rootfs:s0 tclass=file
      
      Bug: 28760354
      Test: build
      Change-Id: I6135eea1d10b903a4a7e69da468097f495484665
      a12aad45
    • Robert Benea's avatar
      sepolicy: fix support for lmkd · e62cf5e5
      Robert Benea authored
      Allow lmkd to access /dev/memcg once again.
      
      Test: lmkd can access memcg
      bug: 36588803
      Change-Id: I1f46b438050d95cebd2fcc495938192305fc9fc9
      e62cf5e5
  5. Jul 10, 2017
    • Stephen Smalley's avatar
      sepolicy: Define and allow map permission · 4397f082
      Stephen Smalley authored
      
      Kernel commit 3ba4bf5f1e2c ("selinux: add a map permission check for mmap")
      added a map permission check on mmap so that we can
      distinguish memory mapped access (since it has different implications
      for revocation).  The purpose of a separate map permission check on
      mmap(2) is to permit policy to prohibit memory mapping of specific files
      for which we need to ensure that every access is revalidated, particularly
      useful for scenarios where we expect the file to be relabeled at runtime
      in order to reflect state changes (e.g. cross-domain solution, assured
      pipeline without data copying).  The kernel commit is anticipated to
      be included in Linux 4.13.
      
      This change defines map permission for the Android policy.  It mirrors
      the definition in the kernel classmap by adding it to the common
      definitions for files and sockets.  This will break compatibility for
      kernels that predate the dynamic class/perm mapping support (< 2.6.33);
      on such kernels, one would instead need to add map permission
      to the end of each file and socket access vector.
      
      This change also adds map permission to the global macro definitions for
      file permissions, thereby allowing it in any allow rule that uses these
      macros, and to specific rules allowing mapping of files from /system
      and executable types. This should cover most cases where it is needed,
      although it may still need to be added to specific allow rules when the
      global macros are not used.
      
      Test: Policy builds
      
      Change-Id: Iab3ccd2b6587618e68ecab58218838749fe5e7f5
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      4397f082
    • Lorenzo Colitti's avatar
      Temporarily revert the SELinux policy for persist.netd.stable_secret. · 07e631d2
      Lorenzo Colitti authored
      This change did not make it into core sepolicy in time for O.
      The revert allows devices to define these selinux policies in
      vendor-specific sepolicy instead of core sepolicy. It is
      necessary because:
      
      1. It is too late to change property_contexts in O.
      2. Adding the netd_stable_secret prop to vendor sepolicy results
         in a duplicate definition error at compile time.
      3. Defining a new vendor-specific context (such as
         net_stable_secret_vendor_prop) and applying it to
         persist.netd.stable_secret results in the device not booting
         due to attempting to apply two different contexts to the same
         property.
      
      Lack of the sepolicy no longer breaks wifi connectivity now that
      IpManager no longer considers failure to set the stable secret to
      be a fatal error.
      
      Once all interested devices have adopted the vendor sepolicy,
      this policy can safely be reinstated by reverting said vendor
      sepolicies in internal master.
      
      This reverts commit abb1ba65.
      
      Bug: 17613910
      Test: bullhead builds, boots, connects to wifi
      Change-Id: Idffcf78491171c54bca9f93cb920eab9b1c47709
      07e631d2
  6. Jul 01, 2017
  7. Jun 30, 2017
    • Jeff Vander Stoep's avatar
      dexoptanalyzer: suppress access(2) denial · 06aee357
      Jeff Vander Stoep authored
      A legitimate call to access(2) is generating a denial. Use the
      audit_access permission to suppress the denial on just the access()
      call.
      
      avc: denied { write } for name="verified_jars"
      scontext=u:r:dexoptanalyzer:s0
      tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir
      
      Bug: 62597207
      Test: build policy
      Test: The following cmd succeeds but no longer generates a denial
          adb shell cmd package compile -r bg-dexopt --secondary-dex \
          com.google.android.googlequicksearchbox
      
      Change-Id: I7d03df2754c24c039bce11426bf8f317232f5e5f
      (cherry picked from commit 575e6270)
      06aee357
  8. Jun 26, 2017
    • Stephen Smalley's avatar
      Define smc_socket security class. · 2be9799b
      Stephen Smalley authored
      
      Linux kernel commit da69a5306ab9 ("selinux: support distinctions among all
      network address families") triggers a build error if a new address family
      is added without defining a corresponding SELinux security class.  As a
      result, the smc_socket class was added to the kernel to resolve a build
      failure as part of merge commit 3051bf36c25d that introduced AF_SMC circa
      Linux 4.11.  Define this security class and its access vector, add
      it to the socket_class_set macro, and exclude it from webview_zygote
      like other socket classes.
      
      Test:  Policy builds
      
      Change-Id: Idbb8139bb09c6d1c47f1a76bd10f4ce1e9d939cb
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      2be9799b
  9. Jun 22, 2017
    • Daniel Rosenberg's avatar
      Add rules for vfat for sdcardfs · 8a65aeca
      Daniel Rosenberg authored
      
      This adds parellel rules to the ones added for media_rw_data_file
      to allow apps to access vfat under sdcardfs. This should be reverted
      if sdcardfs is modified to alter the secontext it used for access to
      the lower filesystem
      
      Change-Id: Idb123206ed2fac3ead88b0c1ed0b66952597ac65
      Bug: 62584229
      Test: Run android.appsecurity.cts.ExternalStorageHostTest with
            an external card formated as vfat
      Signed-off-by: default avatarDaniel Rosenberg <drosen@google.com>
      8a65aeca
  10. Jun 13, 2017
    • Tom Cherry's avatar
      Add getpgid to system_service and init · c59eb4d8
      Tom Cherry authored
      In libprocessgroup, we want to only send signals once to processes,
      particularly for SIGTERM.  We must send the signal both to all
      processes within a POSIX process group and a cgroup.  To ensure that
      we do not duplicate the signals being sent, we check the processes in
      the cgroup to see if they're in the POSIX process groups that we're
      killing.  If they are, we skip sending a second signal.  This requires
      getpgid permissions, hence this SELinux change.
      
      avc: denied { getpgid } for pid=797 comm="ActivityManager" scontext=u:r:system_server:s0 tcontext=u:r:untrusted_app_25:s0:c512,c768 tclass=process permissive=1
      avc: denied { getpgid } for pid=797 comm="ActivityManager" scontext=u:r:system_server:s0 tcontext=u:r:untrusted_app_25:s0:c512,c768 tclass=process permissive=1
      avc: denied { getpgid } for pid=797 comm="ActivityManager" scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=process permissive=1
      avc: denied { getpgid } for pid=797 comm="ActivityManager" scontext=u:r:system_server:s0 tcontext=u:r:system_app:s0 tclass=process permissive=1
      avc: denied { getpgid } for pid=1 comm="init" scontext=u:r:init:s0 tcontext=u:r:zygote:s0 tclass=process permissive=1
      avc: denied { getpgid } for pid=1 comm="init" scontext=u:r:init:s0 tcontext=u:r:zygote:s0 tclass=process permissive=1
      avc: denied { getpgid } for pid=1 comm="init" scontext=u:r:init:s0 tcontext=u:r:system_server:s0 tclass=process permissive=1
      avc: denied { getpgid } for pid=1 comm="init" scontext=u:r:init:s0 tcontext=u:r:system_server:s0 tclass=process permissive=1
      
      Bug: 37853905
      Bug: 62418791
      Test: Boot, kill zygote, reboot
      Change-Id: Ib6c265dbaac8833c47145ae28fb6594ca8545570
      c59eb4d8
  11. Jun 12, 2017
    • Joel Scherpelz's avatar
      SELinux policy for secure persistent netd storage · abb1ba65
      Joel Scherpelz authored
      This is used to persist RFC 7217 stable secrets across device reboots.
      
      First submit caused a merge conflict. This revision replaces netd_prop
      with a more unique name netd_stable_secret_prop.
      
      Test: as follows
          - Manually tested that stable_secret is generated on first use and
            persists until reset of user data partition (factory reset).
          - Tested that "adb shell getprop" was denied access to
            persist.netd.stable_secret after running "adb unroot".
      Bug: 17613910
      
      Change-Id: I0a609c724799a15b1926e62534c16810d34f2275
      abb1ba65
  12. Jun 08, 2017
    • Bartosz Fabianowski's avatar
      Revert "SELinux policy for secure persistent netd storage" · 06486796
      Bartosz Fabianowski authored
      This broke the build on master. See b/17613910#comment17
      for details.
      
      This reverts commit ef1fd98b.
      
      Change-Id: I11f7d463061a9b6340c11827135586266e26f016
      06486796
    • Joel Scherpelz's avatar
      SELinux policy for secure persistent netd storage · ef1fd98b
      Joel Scherpelz authored
      This is used to persist RFC 7217 stable secrets across device reboots.
      
      Test: as follows
          - Manually tested that stable_secret is generated on first use and
            persists until reset of user data partition (factory reset).
          - Tested that "adb shell getprop" was denied access to
            persist.netd.stable_secret after running "adb unroot".
      Bug: 17613910
      
      Change-Id: I4dad00fb189d697aceaffae49ad63987c7e45054
      ef1fd98b
  13. Jun 01, 2017
    • Neil Fuller's avatar
      Enable the TimeZoneManagerService · ca595e11
      Neil Fuller authored
      Add policy changes to enable a new service. The service
      is currently switched off in config, but this change is
      needed before it could be enabled.
      
      Bug: 31008728
      Test: make droid
      Merged-In: I29c4509304978afb2187fe2e7f401144c6c3b4c6
      Change-Id: I29c4509304978afb2187fe2e7f401144c6c3b4c6
      ca595e11
  14. May 31, 2017
    • Narayan Kamath's avatar
      SEPolicy: Allow app / system_server to write to dumpstate pipes. · a34781ae
      Narayan Kamath authored
      tombstoned allows dumpstate to install "intercepts" to java trace
      requests for a given process. When an "intercept" is installed, all
      trace output is redirected to a pipe provided by dumpstate instead
      of the default location (usually in /data/anr or /data/tombstone).
      
      Note that these processes are already granted "write" and "getattr"
      on dumpstate:fifo_file in order to communicate with dumpstate; this
      change adds "append" to the existing set of permissions.
      
      Bug: 32064548
      Test: manual
      Change-Id: Iccbd78c59071252fef318589f3e55ece51a3c64c
      a34781ae
    • Narayan Kamath's avatar
      SEPolicy: Changes for new stack dumping scheme. · e628cb5b
      Narayan Kamath authored
      Applications connect to tombstoned via a unix domain socket and request
      an open FD to which they can write their traces. This socket has a new
      label (tombstoned_java_trace_socket) and appdomain and system_server are
      given permissions to connect and write to it.
      
      Apps no longer need permissions to open files under /data/anr/ and
      these permissions will be withdrawn in a future change.
      
      Bug: 32064548
      Test: Manual
      
      Merged-In: I70a3e6e230268d12b454e849fa88418082269c4f
      Change-Id: Ib4b73fc130f4993c44d96c8d68f61b6d9bb2c7d5
      e628cb5b
  15. May 26, 2017
  16. May 25, 2017
  17. May 17, 2017
    • Stephen Smalley's avatar
      Define getrlimit permission for class process · 91a3eeac
      Stephen Smalley authored
      
      This permission was added to the kernel in commit 791ec491c372
      ("prlimit,security,selinux: add a security hook for prlimit")
      circa Linux 4.12 in order to control the ability to get the resource
      limits of another process.  It is only checked when acting on another
      process, so it is not required for getrlimit(2), only for prlimit(2)
      on another process.
      
      Test:  Policy builds
      
      Change-Id: Ic0079a341e959f1c5a3d045974df4b756fd4ab67
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      91a3eeac
  18. May 15, 2017
    • Alex Vakulenko's avatar
      SELinux policies for PDX services · c4055f0d
      Alex Vakulenko authored
      Specify per-service rules for PDX transport. Now being able to
      grant permissions to individual services provided by processes,
      not all services of a process.
      
      Also tighter control over which permissions are required for
      client and server for individual components of IPC (endpoints,
      channels, etc).
      
      Bug: 37646189
      Change-Id: I78eb8ae8b6e08105666445a66bfcbd2f1d69d0ea
      Merged-Id: I78eb8ae8b6e08105666445a66bfcbd2f1d69d0ea
      c4055f0d
  19. May 11, 2017
    • Tom Cherry's avatar
      Revert "remove /dev/log" · 5dff1962
      Tom Cherry authored
      This reverts commit 8c60f74d.
      
      Bug: 38242876
      Change-Id: Iba5a94d16901dc0c52f1941972c26877baa4805c
      5dff1962
    • Siarhei Vishniakou's avatar
      Allow shell access on /dev/uhid node · 2a7f5710
      Siarhei Vishniakou authored
      Node for /dev/uhid driver needs to be accessible
      by shell for the 'hid' command in frameworks/base/cmds.
      This CL is in support of another CL c/2048848, topic
      'Refactor hid command in /frameworks/base/cmds'
      in internal master.
      
      Bug: 34052337
      Test: CTS test for GamepadTestCase#testButtonA; Checked that
      cat /dev/uhid does not raise permission error.
      
      Change-Id: I861c1226b4a67272af7c2a93d7811bf87a083478
      2a7f5710
  20. May 08, 2017
    • Nick Kralevich's avatar
      Further restrict SELinux API access · 14e2e926
      Nick Kralevich authored
      Remove SELinux access from domain_deprecated. Access to SELinux APIs can
      be granted on a per-domain basis.
      
      Remove appdomain access to SELinux APIs. SELinux APIs are not public and
      are not intended for application use. In particular, some exploits poll
      on /sys/fs/selinux/enforce to determine if the attack was successful,
      and we want to ensure that the behavior isn't allowed. This access was
      only granted in the past for CTS purposes, but all the relevant CTS
      tests have been moved to the shell domain.
      
      Bug: 27756382
      Bug: 28760354
      Test: Device boots and no obvious problems. No collected denials.
      Change-Id: Ide68311bd0542671c8ebf9df0326e512a1cf325b
      14e2e926
  21. May 03, 2017
    • William Roberts's avatar
      storaged: add permissions for dumpstate · fd8f305b
      William Roberts authored
      
      The service "storaged" implememnts a dump() interface for
      dumpsys, and thus it needs to write its state to the fd
      provided by dumpstate.
      
      To correct this, and fix dumpstate, allow the permission.
      
      Fixes:
      avc: denied { use } for pid=3298 comm="dumpsys" path="pipe:[33470]" dev="pipefs" ino=33470 scontext=u:r:storaged:s0 tcontext=u:r:dumpstate:s0 tclass=fd permissive=0
      
      Test:
      With a device that has storaged, issue the command:
      $ adb shell dumpstate
      
      Change-Id: I515e20f0328b6edc01ea2a7c53b1d3c4ca0e72ac
      Signed-off-by: default avatarWilliam Roberts <william.c.roberts@intel.com>
      fd8f305b
  22. Apr 26, 2017
    • Nick Kralevich's avatar
      Add untrusted_v2_app to all_untrusted_apps · db5962ce
      Nick Kralevich authored
      This was accidentally omitted from all_untrusted_app
      
      While I'm here, split across mutiple lines and alphabetize.
      
      Test: policy compiles.
      Change-Id: I7fe1d1d0a4ef2ed3ab010931ee2ba15637c2be51
      db5962ce
    • Jerry Zhang's avatar
      Add drm and kernel permissions to mediaprovider · 6f9ac6e4
      Jerry Zhang authored
      These were missing when the sepolicy was migrated.
      
      Addresses denials:
      
      E SELinux : avc:  denied  { find } for service=drm.drmManager pid=11769
      uid=10018 scontext=u:r:mediaprovider:s0:c512,c768
      tcontext=u:object_r:drmserver_service:s0 tclass=service_manager
      
      W kworker/u16:2: type=1400 audit(0.0:1667): avc: denied { use } for
      path="/storage/emulated/0/DCIM/Camera/IMG_20170425_124723.jpg"
      dev="sdcardfs" ino=1032250 scontext=u:r:kernel:s0
      tcontext=u:r:mediaprovider:s0:c512,c768 tclass=fd permissive=0
      
      Bug: 37685394
      Bug: 37686255
      Test: Sync files
      Test: Open downloaded file
      
      Change-Id: Ibb02d233720b8510c3eec0463b8909fcc5bbb73d
      6f9ac6e4
  23. Apr 25, 2017
    • Joel Scherpelz's avatar
      Allow dumpstate to acquire xtables.lock · 5e901bbe
      Joel Scherpelz authored
      iptables recently changed its behavior to strictly require xtables.lock.
      dumpstate selinux policy must be updated to allow access.
      
      Bug: 37648320
      Test: dumpstate succeeds with no avc: denied ... xtables.lock messages
      Change-Id: Ic7e243739f375a60fa14fe67fac910d31d978ffd
      (cherry picked from commit ca097979)
      5e901bbe
    • Philip Cuadra's avatar
      Allow Bluetooth sys_nice and system_server setsched for Bluetooth HAL · 6eee6eb2
      Philip Cuadra authored
      Bluetooth needs the capability to set audio-related threads to be RT
      scheduled.  Grant it sys_nice.
      
      system_server needs to set priority for the Bluetooth HAL.  Allow it.
      
      Bug 37518404
      Test:  Play Bluetooth audio, confirm RT scheduling with systrace
      Change-Id: Iaf7b85a11a51883744d72a50addfd320b6fbbc2f
      6eee6eb2
  24. Apr 19, 2017
  25. Apr 17, 2017
    • Jerry Zhang's avatar
      Split mediaprovider as a separate domain from priv_app · 9f152d98
      Jerry Zhang authored
      MediaProvider requires permissions that diverge from those
      of a typical priv_app. This create a new domain and removes
      Mtp related permissions from priv_app.
      
      Bug: 33574909
      Test: Connect with MTP, download apps and files, select ringtones
      Test: DownloadProvider instrument tests, CtsProviderTestCases
      
      Change-Id: I950dc11f21048c34af639cb3ab81873d2a6730a9
      9f152d98
  26. Apr 13, 2017
    • Jeff Vander Stoep's avatar
      bluetooth: Remove domain_deprecated · ff1e0184
      Jeff Vander Stoep authored
      Remove domain_deprecated from bluetooth. This removes some unnecessarily
      permissive rules.
      
      Bug: 25433265
      Test: All of the permissions being removed were being audited. Verify
            that no audited (granted) avc messages for bluetooth exist in
            in the logs.
      
      Change-Id: Ifa12a0f1533edcb623bbb9631f88f1ff1d6d7085
      ff1e0184
  27. Apr 12, 2017
    • Nathan Harold's avatar
      Allow UDP Sockets to be returned from IpSecService · 0f75a62e
      Nathan Harold authored
      These permissions allow the system server to create and
      bind a UDP socket such that it gains the SOCK_BINDPORT_LOCK.
      (ref: af_inet.c - inet_bind()) This prevents the user from
      disconnecting the socket, which would create a security
      vulnerability. The user may then use the provided socket,
      which is always IPv4/UDP, for IKE negotiation. Thus, an
      un-trusted user app must be able to use the socket for
      communication.
      
      -ALLOW: read, write, connect, sendto, and recvfrom.
      -NEVERALLOW: anything else
      
      Bug: 30984788
      Test: CTS tested via IpSecManagerTest:testUdpEncapsulationSocket
      
      Change-Id: I045ba941797ac12fd14a0cce42efdd2abc4d67e0
      0f75a62e
  28. Apr 11, 2017
    • Tom Cherry's avatar
      remove /dev/log · 8c60f74d
      Tom Cherry authored
      This was marked deprecated in 2014 and removed in 2015, let's remove
      the sepolicy now too.
      
      Test: see that logging still works on bullhead
      
      Change-Id: I4caa0dbf77956fcbc61a07897242b951c275b502
      8c60f74d
    • Jorge Lucangeli Obes's avatar
      system_server: Report dalvikcache_data_file execute violations. · 665128fa
      Jorge Lucangeli Obes authored
      With build/core eaa9d88cf, system_server should not be loading code
      from /data. Add an auditallow rule to report violations.
      
      Bug: 37214733
      Test: Boot marlin, no SELinux audit lines for system_server.
      Change-Id: I2e25eb144503274025bd4fc9bb519555851f6521
      665128fa
  29. Apr 06, 2017
    • Josh Gao's avatar
      Add /dev/kmsg_debug. · a015186f
      Josh Gao authored
      Add /dev/kmsg_debug on userdebug devices, to allow crash_dump to log
      crashes to dmesg when logd isn't up yet (or is the one crashing).
      
      Bug: http://b/36574794
      Test: stop tombstoned; crasher; dmesg
      Change-Id: I249e11291c58fee77098dec3fd3271ea23363ac9
      a015186f
Loading