Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e59369d authored by rpcraig's avatar rpcraig
Browse files

Bug fix on installd with SELinux enabled kernel.



setfilecon is not required on libsymlinks when target
doesn't exist. A bootloop is caused without this
change.

Change-Id: I96dbd4b1f47a752bfcaf6016c81fd43083c4a6e1
Signed-off-by: default avatarrpcraig <rpcraig@tycho.ncsc.mil>
parent 4299f63e
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
@@ -91,13 +91,6 @@ int install(const char *pkgname, uid_t uid, gid_t gid)
        return -1;
    }

    if (selinux_android_setfilecon(libsymlink, pkgname, AID_SYSTEM) < 0) {
        ALOGE("cannot setfilecon dir '%s': %s\n", libsymlink, strerror(errno));
        unlink(libsymlink);
        unlink(pkgdir);
        return -1;
    }

    if (selinux_android_setfilecon(pkgdir, pkgname, uid) < 0) {
        ALOGE("cannot setfilecon dir '%s': %s\n", pkgdir, strerror(errno));
        unlink(libsymlink);
@@ -252,13 +245,6 @@ int make_user_data(const char *pkgname, uid_t uid, uid_t persona)
        return -1;
    }

    if (selinux_android_setfilecon(libsymlink, pkgname, AID_SYSTEM) < 0) {
        ALOGE("cannot setfilecon dir '%s': %s\n", libsymlink, strerror(errno));
        unlink(libsymlink);
        unlink(pkgdir);
        return -errno;
    }

    if (selinux_android_setfilecon(pkgdir, pkgname, uid) < 0) {
        ALOGE("cannot setfilecon dir '%s': %s\n", pkgdir, strerror(errno));
        unlink(libsymlink);