diff --git a/libvndksupport/linker.c b/libvndksupport/linker.c index 821940ac4..84c21324f 100644 --- a/libvndksupport/linker.c +++ b/libvndksupport/linker.c @@ -20,6 +20,8 @@ #define LOG_TAG "vndksupport" #include +#include +#include __attribute__((weak)) extern struct android_namespace_t* android_get_exported_namespace(const char*); __attribute__((weak)) extern void* android_dlopen_ext(const char*, int, const android_dlextinfo*); @@ -46,6 +48,11 @@ static struct android_namespace_t* get_vendor_namespace() { } int android_is_in_vendor_process() { + // Special case init, since when init runs, ld.config..txt hasn't been + // loaded (sysprop service isn't up for init to know ). + if (getpid() == 1) { + return 0; + } if (android_get_exported_namespace == NULL) { ALOGD("android_get_exported_namespace() not available. Assuming system process."); return 0;