• 残页's avatar
    Don't use xwrite() when patching legacy rootfs init · e3f63994
    残页 authored
    Fix topjohnwu#4810
    > [    2.927463]  [1:           init:    1] magiskinit: Replace [/system/etc/selinux/plat_sepolicy.cil] -> [xxx]
    [    2.936801]  [1:           init:    1] magiskinit: write failed with 14: Bad address
    
    Since topjohnwu#4596, magisk fails to patch `/init`, xwrite() fails with EFAULT, break the original `/init` file and make the device unbootable. Reverting this commit for legacy rootfs devices fixes the problem. I think this is a Samsung kernel magic since currently I can't reproduce this on other devices or find something special in the log currently we have.
    e3f63994
rootdir.cpp 12.9 KB