Re: [PATCH] kernel/hung_task.c: Monitor killed tasks.

From: Tetsuo Handa
Date: Thu May 16 2019 - 08:41:12 EST


On 2019/05/16 20:57, Petr Mladek wrote:
> CCed Stephen to discuss linux-next related question at the bottom
> of the mail.
>
> On Thu 2019-05-16 17:19:12, Tetsuo Handa wrote:
>> On 2019/05/15 19:55, Petr Mladek wrote:
>> But in the context of syzbot's testing where there are only 2 CPUs
>> in the target VM (which means that only small number of threads and
>> not so much memory) and threads get SIGKILL after 5 seconds from fork(),
>> being unable to reach do_exit() within 10 seconds is likely a sign of
>> something went wrong. For example, 6 out of 7 trials of a reproducer for
>> https://syzkaller.appspot.com/bug?id=835a0b9e75b14b55112661cbc61ca8b8f0edf767
>> resulted in "no output from test machine" rather than "task hung".
>> This patch is revealing that such killed threads are failing to reach
>> do_exit() because they are trapped at unkillable retry loop due to a
>> race bug.
>>
>> Therefore, I would like to try this patch in linux-next.git for feasibility
>> testing whether this patch helps finding more bugs and reproducers for such
>> bugs, by bringing "unable to terminate threads" reports out of "no output from
>> test machine" reports. We can add sysctl settings before sending to linux.git.
>
> In this case, the watchdog should get enabled on with
> CONFIG_DEBUG_AID_FOR_SYZBOT

Since "[PATCH] printk: Monitor change of console loglevel." is one time (only
needed until we find the reason of silence), testing on only linux-next.git
is sufficient and it gets enabled on with CONFIG_DEBUG_AID_FOR_SYZBOT.

>
> Also we should ask/inform Stephen about this. I am not sure
> if he is willing to resolve eventual conflicts for these
> syzboot-specific patches that are not upstream candidates.
>
> A solution might be to create sysbot-specific for-next branch
> that Stephen might simply ignore when there are conflicts.
> And you would be responsible for updating it.

syzbot tests not only linux-next.git but also various trees, and tests
attempted depends on target git tree. Therefore, apart from whether we
can introduce a kernel config option for fuzzing testing,
"[PATCH] kernel/hung_task.c: Monitor killed tasks." is expected to be
in linux.git. This patch will eventually become upstream candidate.