Page MenuHomeFreeBSD

Fix the implementations of PSEUDO_NOERROR and PSEUDO.
ClosedPublic

Authored by brooks on Nov 7 2015, 12:21 AM.
Tags
None
Referenced Files
F123180520: D4097.id10003.diff
Fri, Jul 11, 10:34 PM
Unknown Object (File)
Wed, Jun 18, 5:19 AM
Unknown Object (File)
Sun, Jun 15, 8:29 PM
Unknown Object (File)
Jun 12 2025, 2:40 AM
Unknown Object (File)
Jun 11 2025, 3:02 AM
Unknown Object (File)
May 18 2025, 9:13 PM
Unknown Object (File)
Apr 26 2025, 8:33 AM
Unknown Object (File)
Apr 25 2025, 1:57 AM
Subscribers
None

Details

Summary

The PSEUDO* macros should not declare <syscall>, only _<syscall> and
__sys_<syscall>. This was causing the interposing C wrappers to be
ignored due to link order.

Sponsored by: DARPA, AFRL

Diff Detail

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

Event Timeline

brooks retitled this revision from to Fix the implementations of PSEUDO_NOERROR and PSEUDO..
brooks updated this object.
brooks edited the test plan for this revision. (Show Details)
brooks added reviewers: adrian, imp.

Without this change, threaded applications don't use mutexes around system calls and threaded programs likely do not work correctly.

kib edited edge metadata.

Mostly, it was not about mutexes but for working cancellation. It is more complicated for signal-related syscalls, esp. sigaction(2), where the bug could result in non-functional rtld locks.

This revision is now accepted and ready to land.Jan 21 2016, 6:52 AM
This revision was automatically updated to reflect the committed changes.