[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a2eKoOL0KF4CmyEtk-3309f2_D+daQbe=Bj5vCkvD_khA@mail.gmail.com>
Date: Wed, 13 May 2020 18:00:28 +0200
From: Arnd Bergmann <arnd@...db.de>
To: Kalle Valo <kvalo@...eaurora.org>
Cc: linux-wireless <linux-wireless@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: gcc-10: kernel stack is corrupted and fails to boot
On Wed, May 13, 2020 at 5:31 PM Kalle Valo <kvalo@...eaurora.org> wrote:
> Arnd Bergmann <arnd@...db.de> writes:
> > On Wed, May 13, 2020 at 2:57 PM Kalle Valo <kvalo@...eaurora.org> wrote:
> >>
> >> Arnd Bergmann <arnd@...db.de> writes:
> >>
> >> > If you share your .config, I can try reproducing with that as well.
> >> > Once there is a reproducer in qemu, it should be trivial to step
> >> > through it using gdb.
> >>
> >> I have attached the .config I used with GCC 10.1. If you are able to
> >> test it please do let me know how it went.
> >
> > Yes, I see the same problem now, but have not investigated
> > any further.
>
> Great, so it's not a problem due to my setup.
I investigated a little more: This does happen with 'defconfig'
after all, in my first try I must have missed the '-smp 2' argument
to qemu, and it ended up working correctly with just one CPU
but fails now.
Stepping through the boot process, I see where it crashes
in start_secondary:
| /* to prevent fake stack check failure in clock setup */
| boot_init_stack_canary();
|
| x86_cpuinit.setup_percpu_clockev();
|
| wmb();
| cpu_startup_entry(CPUHP_AP_ONLINE_IDLE);
The call to cpu_startup_entry() does not succeed, instead
it jumps to __stack_chk_fail() from there.
Arnd
Powered by blists - more mailing lists