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;