Re: [syzbot] kernel panic: corrupted stack end in openat

From: Arnd Bergmann
Date: Tue Mar 16 2021 - 12:04:37 EST


On Tue, Mar 16, 2021 at 4:51 PM Russell King - ARM Linux admin
<linux@xxxxxxxxxxxxxxx> wrote:
> On Tue, Mar 16, 2021 at 04:44:45PM +0100, Arnd Bergmann wrote:
> > On Tue, Mar 16, 2021 at 11:17 AM Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
> > > The compiler is gcc version 10.2.1 20210110 (Debian 10.2.1-6)
> >
> > Ok, building with Ubuntu 10.2.1-1ubuntu1 20201207 locally, that's
> > the closest I have installed, and I think the Debian and Ubuntu versions
> > are generally quite close in case of gcc since they are maintained by
> > the same packagers.
>
> ... which shouldn't be a problem - that's just over 1/4 of the stack
> space. Could it be the syzbot's gcc is doing something weird and
> inflating the stack frames?

It's possible, I think that's really unlikely given that it's just Debian's
gcc, which is as close to mainline as the version I was using.

Uwe's DEBUG_STACKOVERFLOW patch from a while ago might
help if this was the problem though:
https://lore.kernel.org/linux-arm-kernel/20200108082913.29710-1-u.kleine-koenig@xxxxxxxxxxxxxx/

My best guess is something going wrong in the interrupt
that triggered the preempt_schedule() which ended up calling
task_stack_end_corrupted() in schedule_debug(), as you suggested
earlier.

Arnd