[OE-core] [PATCH] make: disable use of posix_spawn on mips

Adrian Bunk bunk at stusta.de
Sat Feb 29 09:21:03 UTC 2020


On Fri, Feb 28, 2020 at 11:55:46PM -0800, Victor Kamensky via Openembedded-core wrote:
> After make-4.3 migration child_execute_job function started
> using posix_spawn function, which happens to be broken on mips.
> 
> It manifests itself as when make executed by root, it switches
> real user id to wrong value because of some issues with direct
> setresuid system call done in glibc __spawni_child function
> through inline assemble and/or gcc compiling it produces wrong
> code. I.e instead of passing -1 posix_spawn function incorrectly
> passes 127 as ruid. Subsequently job started by make can fail
> with permission issue because they run under wrong user.

Thanks for looking into this.

> For now workaround is used by explicitly disabling posix_spawn
> call use by make on mips through configure variable.

The proper fix would be to upgrade to the latest glibc 2.31 branch,
which has backported the fixes for the bug [1] on mips/risc-v/microblaze.

cu
Adrian

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=25523


More information about the Openembedded-core mailing list