Re: Please review arch/x86/kernel/pvclock.c to fix Docker/Mono crashes in new Kernels

From: Linus Torvalds
Date: Mon May 16 2016 - 14:10:25 EST


There is something odd being reported in Ubuntu.

There's a Mono SIGSEGV that was bisected to Andy's commit 1ddf0b1b11aa
("x86, vdso: Use asm volatile in __getcpu"), and then reported to be
fixed with commits

80f7fdb1c7f0 ("x86: vdso: fix pvclock races with task migration")
0a4e6be9ca17 ("x86: kvm: Revert "remove sched notifier for cross-cpu
migrations"")

and when those were backported all looked well.

But then those two commits in turn were reverted with

73459e2a1ada ("x86: pvclock: Really remove the sched notifier for
cross-cpu migrations")

and people seem to report that it's back as a result:

https://bugzilla.xamarin.com/show_bug.cgi?id=29212#c16

so apparently that task migration notifier somehow does matter.

Comments?

Linus


On Mon, May 16, 2016 at 1:13 AM, <okhalzov@xxxxxxxxxxxxxxxxx> wrote:
>
> Hello Linus,
>
> Am am sorry to bother you, but it seems that the bug from old kernels was
> copied to new >=4.1 kernels. We use Ubuntu/Docker/Mono and we had to
> rollback to 3.19.0-54 kernel for the work around.
>
> We found that a year ago there was a discussion on the launchpad
> (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1450584) regarding
> SIGSEGV on multi-cpu vm.
> It seems to me that the commits around that bug
> https://github.com/torvalds/linux/commits/master/arch/x86/kernel/pvclock.c
> caused 4.1 and up kernels to keep that bug.
> Please review pvclock.c to fix that problem.
>
> Kiitos! Thank you!
>
> --
> Oleg Khalzov
> SDE
> Vestbery
>