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

Commit c92635f9 authored by Mark Salyzyn's avatar Mark Salyzyn Committed by android-build-merger
Browse files

Merge "libcutils: ashmem print error message for invalid fd" am: 9c551a1b

am: ba6523a4

* commit 'ba6523a4':
  libcutils: ashmem print error message for invalid fd
parents c759eac8 ba6523a4
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
 * ashmem-enabled kernel. See ashmem-sim.c for the "fake" tmp-based version,
 * used by the simulator.
 */
#define LOG_TAG "ashmem"

#include <errno.h>
#include <fcntl.h>
@@ -32,6 +33,7 @@
#include <linux/ashmem.h>

#include <cutils/ashmem.h>
#include <log/log.h>

#define ASHMEM_DEVICE "/dev/ashmem"

@@ -92,6 +94,7 @@ static int __ashmem_is_ashmem(int fd)
        return -1;
    }

    rdev = 0; /* Too much complexity to sniff __ashmem_rdev */
    if (S_ISCHR(st.st_mode) && st.st_rdev) {
        pthread_mutex_lock(&__ashmem_lock);
        rdev = __ashmem_rdev;
@@ -114,6 +117,17 @@ static int __ashmem_is_ashmem(int fd)
        }
    }

    if (rdev) {
        ALOGE("illegal fd=%d mode=0%o rdev=%d:%d expected 0%o %d:%d",
          fd, st.st_mode, major(st.st_rdev), minor(st.st_rdev),
          S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IRGRP,
          major(rdev), minor(rdev));
    } else {
        ALOGE("illegal fd=%d mode=0%o rdev=%d:%d expected 0%o",
          fd, st.st_mode, major(st.st_rdev), minor(st.st_rdev),
          S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IRGRP);
    }

    errno = ENOTTY;
    return -1;
}