Re: [RFC v8 12/20] um: lkl: initialization and cleanup
From: Hajime Tazaki <hidden>
Date: 2021-03-16 01:20:15
Also in:
linux-um
From: Hajime Tazaki <hidden>
Date: 2021-03-16 01:20:15
Also in:
linux-um
On Mon, 15 Mar 2021 05:40:39 +0900, Johannes Berg wrote:
On Wed, 2021-01-20 at 11:27 +0900, Hajime Tazaki wrote:quoted
+ panic_blink = lkl_panic_blink;Using a panic notifier would seem more appropriate?
I understand; will investigate if we can change.
quoted
+ init_sem = lkl_sem_alloc(0);what's the deal with this?quoted
+ if (!init_sem) + return -ENOMEM; + + ret = lkl_cpu_init(); + if (ret) + goto out_free_init_sem; + + ret = lkl_thread_create(lkl_run_kernel, NULL); + if (!ret) { + ret = -ENOMEM; + goto out_free_init_sem; + } + + lkl_sem_down(init_sem); + lkl_sem_free(init_sem);You free it before the kernel really even started?
The semaphore (init_sem) is unlocked at lkl_run_init(), so this waits for finishing the init call. After the initialization ends, it's safe to free as it's no longer used. I may add some description here to make it clear. -- Hajime