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

Commit c95e9da3 authored by Sami Tolvanen's avatar Sami Tolvanen
Browse files

Do not mount devices with invalid verity metadata

The return value of read_verity_metadata is propagated to caller
even if the verity metadata is invalid, provided that it can be
read from the device. This results in devices with invalid verity
metadata signatures to be mounted normally, which is not desirable.
This change fixes the bug by changing the return value in case of
verification failure to FS_MGR_SETUP_VERITY_FAIL.

Change-Id: Ic29f37a23cb417c2538d60fb05de9dd310d50f4a
parent a3465e25
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -378,7 +378,7 @@ static int set_verified_property(char *name) {

int fs_mgr_setup_verity(struct fstab_rec *fstab) {

    int retval = -1;
    int retval = FS_MGR_SETUP_VERITY_FAIL;
    int fd = -1;

    char *verity_blk_name = 0;
@@ -409,6 +409,8 @@ int fs_mgr_setup_verity(struct fstab_rec *fstab) {
        goto out;
    }

    retval = FS_MGR_SETUP_VERITY_FAIL;

    // get the device mapper fd
    if ((fd = open("/dev/device-mapper", O_RDWR)) < 0) {
        ERROR("Error opening device mapper (%s)", strerror(errno));