Set a default ACL on /data/media/userId.
This directory is used as a root for external storage on adopted storage devices. It needs to be writable by processes holding the AID_MEDIA_RW GID permission; in particular, it should be writable by the FUSE daemon. On devices with sdcardfs, this was ensured automatically, because sdcardfs presented a view of this directory that was writable, that we could use for the FUSE daemon. But on devices without sdcardfs, the FUSE daemon sees the raw filesystem and its permissions. This also means that files created by the FUSE daemon will have their uid/gid set to the uid of the FUSE daemon; to ensure these files stay writable to other system applications that have AID_MEDIA_RW, use a default ACL to make sure the gid stays AID_MEDIA_RW. In particular, this fixes an issue with app cloning, where we want the FUSE daemon of user 0 to be able to access the files of the app clone user, and vice versa. Bug: 154057120 Test: inspect uid/gid of /data/media/0 and contents Change-Id: I6dfae41f9cb6a8283978b2667b02708a000f07c0
Loading
Please register or sign in to comment