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

Commit f1c3ffe5 authored by rpcraig's avatar rpcraig Committed by Kenny Root
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: Ia895d9063f42885a3db6e8ca30cee5dceb8c1bac
Signed-off-by: default avatarrpcraig <rpcraig@tycho.ncsc.mil>
parent d24276d3
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);