From fa6db61eb25ff80d886490115400a261188f6dd2 Mon Sep 17 00:00:00 2001 From: Andrew Boie Date: Tue, 20 Oct 2020 13:26:19 -0700 Subject: [PATCH] userspace: do nothing if added to same domain If we call k_mem_domain_add_thread() to a memory domain the thread already belongs to, do nothing. Signed-off-by: Andrew Boie --- kernel/mem_domain.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kernel/mem_domain.c b/kernel/mem_domain.c index ebbcc16f1a2..95f1cca696e 100644 --- a/kernel/mem_domain.c +++ b/kernel/mem_domain.c @@ -262,8 +262,10 @@ void k_mem_domain_add_thread(struct k_mem_domain *domain, k_tid_t thread) k_spinlock_key_t key; key = k_spin_lock(&z_mem_domain_lock); - remove_thread_locked(thread); - add_thread_locked(domain, thread); + if (thread->mem_domain_info.mem_domain != domain) { + remove_thread_locked(thread); + add_thread_locked(domain, thread); + } k_spin_unlock(&z_mem_domain_lock, key); }