diff --git a/recipes-core/musl/files/openharmony-linux-user.patch b/recipes-core/musl/files/openharmony-linux-user.patch
index 5c4c603818cedc804af3e2ec09d535c743bd2801..9e7019628ec96fa5f6f40a9fc709c83816ae21d9 100644
--- a/recipes-core/musl/files/openharmony-linux-user.patch
+++ b/recipes-core/musl/files/openharmony-linux-user.patch
@@ -5,10 +5,11 @@
 Patch generated from OpenHarmony-v3.0-LTS version, with the following commands:
 
     cp -r porting/linux/user/* .
+    git add -A --staged
     git diff > openharmony-linux-user.patch
 
 The hunks from 0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch in
-Yocto was removed here.
+Yocto was removed manually afterwards.
 
 Upstream-status: Pending
 Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com>
@@ -100,6 +101,60 @@ index 984db6806418..73793e47ef53 100644
  #define __NEED_time_t
  #define __NEED_clockid_t
  #define __NEED_struct_timespec
+diff --git a/include/sys/capability.h b/include/sys/capability.h
+new file mode 100644
+index 000000000000..ed2ff97783b1
+--- /dev/null
++++ b/include/sys/capability.h
+@@ -0,0 +1,48 @@
++/*
++ * Copyright (c) 2013-2019, Huawei Technologies Co., Ltd. All rights reserved.
++ * Copyright (c) 2020, Huawei Device Co., Ltd. All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without modification,
++ * are permitted provided that the following conditions are met:
++ *
++ * 1. Redistributions of source code must retain the above copyright notice, this list of
++ *    conditions and the following disclaimer.
++ *
++ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
++ *    of conditions and the following disclaimer in the documentation and/or other materials
++ *    provided with the distribution.
++ *
++ * 3. Neither the name of the copyright holder nor the names of its contributors may be used
++ *    to endorse or promote products derived from this software without specific prior written
++ *    permission.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
++ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
++ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
++ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
++ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
++ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
++ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
++ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
++ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++ */
++
++#ifndef _SYS_CAPABILITY_H
++#define _SYS_CAPABILITY_H
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++#include <linux/capability.h>
++
++int capget(cap_user_header_t hdr_ptr, cap_user_data_t data_ptr);
++int capset(cap_user_header_t hdr_ptr, const cap_user_data_t data_ptr);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _SYS_CAPABILITY_H */
 diff --git a/include/sys/sysinfo.h b/include/sys/sysinfo.h
 index 6a3931e52010..9b095ffb500b 100644
 --- a/include/sys/sysinfo.h
@@ -219,6 +274,20 @@ index 1f59e8e619f5..d1620e6e2812 100644
 -	return rl.rlim_cur / 512;
 +	return rl.rlim_cur == RLIM_INFINITY? LONG_MAX : rl.rlim_cur / 512;
  }
+diff --git a/src/linux/gettid.c b/src/linux/gettid.c
+new file mode 100644
+index 000000000000..70767137e92f
+--- /dev/null
++++ b/src/linux/gettid.c
+@@ -0,0 +1,8 @@
++#define _GNU_SOURCE
++#include <unistd.h>
++#include "pthread_impl.h"
++
++pid_t gettid(void)
++{
++	return __pthread_self()->tid;
++}
 diff --git a/src/malloc/malloc.c b/src/malloc/malloc.c
 index 96982596b94d..07848ec1e09a 100644
 --- a/src/malloc/malloc.c