From 40cf6483bdcfd47af878d61232cc1b2fa475d0a2 Mon Sep 17 00:00:00 2001 From: Caoruihong Date: Wed, 27 Jul 2022 11:51:44 +0800 Subject: [PATCH] fix(asan): fix the deadlock issue of musl dlopen in clang asan runtime Signed-off-by: Caoruihong Change-Id: Ide90ef9ddbd5f7ed70e54682e5bde36443f734f6 --- musl_template.gni | 7 +++++++ porting/linux/user/ldso/namespace.c | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/musl_template.gni b/musl_template.gni index 6b9294b7..a1dd34d2 100644 --- a/musl_template.gni +++ b/musl_template.gni @@ -359,6 +359,13 @@ template("musl_libs") { "-fPIC", "-fno-stack-protector", ] + if (is_asan) { + defines = [ + "NSLIST_DEFAULT_SIZE=1600", + "DSOLIST_DEFAULT_SIZE=1600", + "INHERIT_DEFAULT_SIZE=1600", + ] + } deps = porting_deps } diff --git a/porting/linux/user/ldso/namespace.c b/porting/linux/user/ldso/namespace.c index 81012102..1767eeb1 100644 --- a/porting/linux/user/ldso/namespace.c +++ b/porting/linux/user/ldso/namespace.c @@ -6,9 +6,15 @@ static ns_t g_ns_default; static nslist g_ns_list; +#ifndef NSLIST_DEFAULT_SIZE #define NSLIST_DEFAULT_SIZE 16 +#endif +#ifndef DSOLIST_DEFAULT_SIZE #define DSOLIST_DEFAULT_SIZE 16 +#endif +#ifndef INHERIT_DEFAULT_SIZE #define INHERIT_DEFAULT_SIZE 16 +#endif static ns_inherit_list *nsinherits_alloc() { -- GitLab