Possible regression by ab037dd87a2f (powerpc/vdso: Switch VDSO to generic C implementation.)
Benjamin Herrenschmidt
benh at kernel.crashing.org
Wed Jul 28 09:14:48 AEST 2021
On Tue, 2021-07-27 at 10:45 +0200, Paul Menzel wrote:
> Dear Christophe,
>
>
> On ppc64le Go 1.16.2 from Ubuntu 21.04 terminates with a segmentation
> fault [1], and it might be related to *[release-branch.go1.16] runtime:
> fix crash during VDSO calls on PowerPC* [2], conjecturing that commit
> ab037dd87a2f (powerpc/vdso: Switch VDSO to generic C implementation.)
> added in Linux 5.11 causes this.
>
> If this is indeed the case, this would be a regression in userspace. Is
> there a generic fix or should the change be reverted?
>From the look at the links you posted, this appears to be completely
broken assumptions by Go that some registers don't change while calling
what essentially are external library functions *while inside those
functions* (ie in this case from a signal handler).
I suppose it would be possible to build the VDSO with gcc arguments to
make it not use r30, but that's just gross...
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list