libcareplus/0012-Fix-kpatch_process_init-kpatch_coroutines_free.patch
Jiajie Li 2b0fff2855 AArch64 support: add aarch64 support for libcareplus
Add related code which make libcareplus can run basic demo on aarch64.

Signed-off-by: Jiajie Li <lijiajie11@huawei.com>
2021-02-10 09:18:56 +08:00

47 lines
1.3 KiB
Diff

From 3566489ee43a348f41bb0fd9c779f1064956ea82 Mon Sep 17 00:00:00 2001
From: Roman Rashchupkin <rrashchupkin@cloudlinux.com>
Date: Thu, 25 Jan 2018 10:18:33 +0300
Subject: [PATCH 12/89] Fix kpatch_process_init/kpatch_coroutines_free
---
src/kpatch_coro.c | 7 ++++---
src/kpatch_process.c | 4 ++--
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/kpatch_coro.c b/src/kpatch_coro.c
index ff485fc..45d4a0b 100644
--- a/src/kpatch_coro.c
+++ b/src/kpatch_coro.c
@@ -622,7 +622,8 @@ void kpatch_coroutines_free(struct kpatch_process *proc)
if (proc->coro.unwd)
unw_destroy_addr_space(proc->coro.unwd);
- list_for_each_entry_safe(c, tmp, &proc->coro.coros, list) {
- kpatch_coro_free(c);
- }
+ if (!list_empty(&proc->coro.coros))
+ list_for_each_entry_safe(c, tmp, &proc->coro.coros, list) {
+ kpatch_coro_free(c);
+ }
}
diff --git a/src/kpatch_process.c b/src/kpatch_process.c
index d394925..2f85373 100644
--- a/src/kpatch_process.c
+++ b/src/kpatch_process.c
@@ -1121,10 +1121,10 @@ kpatch_process_init(kpatch_process_t *proc,
list_init(&proc->vmaholes);
proc->num_objs = 0;
- if (process_get_comm(proc))
- goto out_unlock;
if (kpatch_coroutines_init(proc))
goto out_unlock;
+ if (process_get_comm(proc))
+ goto out_unlock;
return 0;
--
2.23.0