From f549029270b3c2b601c850a77cc023b5a3c0578c Mon Sep 17 00:00:00 2001 From: Kaho Ng Date: Tue, 1 Mar 2016 15:34:04 +0800 Subject: [PATCH] lkl: Fix double free when calling lkl_sys_halt(). --- arch/lkl/kernel/syscalls.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/lkl/kernel/syscalls.c b/arch/lkl/kernel/syscalls.c index 61a898e55c8826..059fcdc20fbbe1 100644 --- a/arch/lkl/kernel/syscalls.c +++ b/arch/lkl/kernel/syscalls.c @@ -182,10 +182,11 @@ long lkl_syscall(long no, long *params) lkl_ops->sem_up(data->mutex); if (no == __NR_reboot) { - lkl_ops->sem_free(data->completion); lkl_ops->sem_free(data->mutex); - if (data != &default_syscall_thread_data) + if (data != &default_syscall_thread_data) { + lkl_ops->sem_free(data->completion); lkl_ops->mem_free(data); + } } return s.ret;