[RFC v8 12/20] um: lkl: initialization and cleanup
Hajime Tazaki
thehajime at gmail.com
Tue Mar 16 01:19:19 GMT 2021
On Mon, 15 Mar 2021 05:40:39 +0900,
Johannes Berg wrote:
>
> On Wed, 2021-01-20 at 11:27 +0900, Hajime Tazaki wrote:
> >
> > + panic_blink = lkl_panic_blink;
>
> Using a panic notifier would seem more appropriate?
I understand; will investigate if we can change.
> > + init_sem = lkl_sem_alloc(0);
>
> what's the deal with this?
>
> > + 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
More information about the linux-um
mailing list