Setup group and permission of /sys/block/zram0 files at mmd.rc
mmd access triggers of "writeback", "recompress", "idle" files under
/sys/block/zram0/.
mmd also updates "writeback_limit" to control pages to be written.
/sys/block/zram0/idle and /sys/block/zram0/writeback are used by
existing ZramWriteback.java in system_server and
"system/core/rootdir/init.rc" configures the group and permissions of
them. This copies the configurations to mmd.rc so that the files are
configured correctly with/without mmd.rc. Duplicated configuration has
no effect and safe.
Bug: 375432468
Test: confirm file access succeeds by strace
Change-Id: I47581d1afa45e6160ba10da68ad9631bd525d4ce
diff --git a/mmd.rc b/mmd.rc
index f826e42..7e2e9d8 100644
--- a/mmd.rc
+++ b/mmd.rc
@@ -4,4 +4,19 @@
group mmd system
critical
# For calling swapon syscall
- capabilities SYS_ADMIN
\ No newline at end of file
+ capabilities SYS_ADMIN
+
+on boot
+ chown root mmd /sys/block/zram0/recompress
+ chmod 0220 /sys/block/zram0/recompress
+ chown root mmd /sys/block/zram0/writeback_limit
+ chmod 0664 /sys/block/zram0/writeback_limit
+
+ # /sys/block/zram0/idle and /sys/block/zram0/writeback are used by the
+ # system server managing zram writeback if mmd is disabled. This is
+ # duplicated as /system/core/rootdir/init.rc. But updating the same
+ # permission is safe to do.
+ chown root system /sys/block/zram0/idle
+ chmod 0220 /sys/block/zram0/idle
+ chown root system /sys/block/zram0/writeback
+ chmod 0220 /sys/block/zram0/writeback