Skip to content
Snippets Groups Projects
  • Nick Kralevich's avatar
    recovery: Allow exec_type on dirs, read for /dev · ff409bb4
    Nick Kralevich authored
    When applying a file based OTA, the recovery scripts sometimes
    transiently label a directory as an exec_type. This occurs on
    hammerhead when the OTA generation scripts generate lines of the
    form:
    
      set_metadata_recursive("/system/vendor/bin", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:vss_exec:s0");
      set_metadata("/system/vendor/bin", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
    
    which has the effect of transiently labeling the /system/vendor/bin
    directory as vss_exec.
    
    Allow this behavior for now, even though it's obviously a bug.
    
    Also, allow recovery to read through the /dev directory.
    
    Addresses the following denials:
      avc:  denied  { read } for  pid=143 comm="recovery" name="/" dev="tmpfs" ino=8252 scontext=u:r:recovery:s0 tcontext=u:object_r:device:s0 tclass=dir
      avc:  denied  { open } for  pid=143 comm="recovery" name="/" dev="tmpfs" ino=8252 scontext=u:r:recovery:s0 tcontext=u:object_r:device:s0 tclass=dir
      avc:  denied  { relabelto } for  pid=142 comm="update_binary" name="bin" dev="mmcblk0p25" ino=1438 scontext=u:r:recovery:s0 tcontext=u:object_r:vss_exec:s0 tclass=dir
      avc:  denied  { getattr } for  pid=142 comm="update_binary" path="/system/vendor/bin" dev="mmcblk0p25" ino=1438 scontext=u:r:recovery:s0 tcontext=u:object_r:vss_exec:s0 tclass=dir
      avc:  denied  { setattr } for  pid=142 comm="update_binary" name="bin" dev="mmcblk0p25" ino=1438 scontext=u:r:recovery:s0 tcontext=u:object_r:vss_exec:s0 tclass=dir
      avc:  denied  { relabelfrom } for  pid=142 comm="update_binary" name="bin" dev="mmcblk0p25" ino=1438 scontext=u:r:recovery:s0 tcontext=u:object_r:vss_exec:s0 tclass=dir
    
    Bug: 15575013
    Change-Id: I743bea356382d3c23c136465dc5b434878370127
    ff409bb4