Re: [PATCH] sched/scs: Reset the shadow stack when idle_task_exit

From: Valentin Schneider
Date: Wed Oct 13 2021 - 09:33:01 EST


On 13/10/21 09:22, Woody Lin wrote:
> On Tue, Oct 12, 2021 at 6:57 PM Valentin Schneider <valentin.schneider@xxxxxxx> wrote:
>> On 12/10/21 18:35, Woody Lin wrote:
>> > unpoison looks more like an one-time thing to me; the idle tasks will
>> > reuse the same stack pages until system resets, so I think we don't need
>> > to re-unpoison that during hotplugging as long as it's unpoisoned in
>> > 'init_idle'.
>> >
>>
>> I would tend to agree, but was bitten by s390 freeing some memory on
>> hot-unplug and re-allocating it upon hotplug:
>>
>> 6a942f578054 ("s390: preempt: Fix preempt_count initialization")
>>
>> This makes me doubt whether we can assert the idle task stack pages are
>> perennial vs hotplug on all architectures.
>
> I made a quick study on memory-hotplug and seems that only memory contains
> nothing other than migratable pages can be unplugged. So process stack
> pages should not be a concern for this, since which is an unmovable
> memory.
>
> However I don't have a chance to work on a system that enables
> memory-hotplug so far, so couldn't verify this assumption further. Guess
> we can create a separate thread to clarify this more.
>

That sounds sensible; I'll try to dig some more into this.

As for the SCS change, someone might argue for placing this elsewhere in
the hotplug path, but that looks fine to me:

Reviewed-by: Valentin Schneider <valentin.schneider@xxxxxxx>

> Regards,
> Woody
>
>>
>> >>
>> >> > }
>> >> >
>> >> > --
>> >> > 2.33.0.882.g93a45727a2-goog