Page MenuHomeFreeBSD

linux(4): Get rid of __WCLONE handling.
AbandonedPublic

Authored by dchagin on May 11 2022, 6:00 PM.
Tags
None
Referenced Files
F132607605: D35175.id105864.diff
Sat, Oct 18, 9:26 AM
F132577253: D35175.id.diff
Sat, Oct 18, 3:07 AM
Unknown Object (File)
Fri, Oct 17, 2:18 AM
Unknown Object (File)
Thu, Oct 16, 2:19 AM
Unknown Object (File)
Tue, Oct 14, 3:38 PM
Unknown Object (File)
Tue, Oct 14, 11:13 AM
Unknown Object (File)
Wed, Oct 8, 10:01 PM
Unknown Object (File)
Thu, Oct 2, 4:30 PM
Subscribers

Details

Reviewers
None
Group Reviewers
Linux Emulation
Summary

SInce 81338031 (switch linuxulator to use the native 1:1 threads)
_WALL, _WCLONE flags are broken due to the fact that (to Linux kernel)
no distinction between processes and threads - everything is runnable
task. This allows do a weird things like waiting for a thread status
change by wait() API, unlike FreeBSD where wait() is process intended
only.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 45549
Build 42437: arc lint + arc unit

Event Timeline

emaste added inline comments.
sys/compat/linux/linux_misc.c
1002

case typo (SInce)

2760–2761

do you have a sense of how common __WCLONE use is in various Linux applications?
(of course if it's broken we shouldn't pretend to support it - I'm just curious)

sys/compat/linux/linux_misc.c
2760–2761

I haven't seen, NPTL does not use _WCLONE, however illumos implemented it (I don't know the reason or bug)

leave WLINUXCLONE define as libsysdecode mktables fails,
it uses $DSTDIR/include, not $SRCDIR to build.