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
Unknown Object (File)
Sat, Dec 14, 7:14 PM
Unknown Object (File)
Mon, Nov 25, 9:41 PM
Unknown Object (File)
Sun, Nov 24, 2:00 PM
Unknown Object (File)
Thu, Nov 21, 12:50 PM
Unknown Object (File)
Nov 19 2024, 11:20 PM
Unknown Object (File)
Nov 14 2024, 4:39 AM
Unknown Object (File)
Nov 14 2024, 12:52 AM
Unknown Object (File)
Nov 7 2024, 5:36 PM
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 Not Applicable
Unit
Tests Not Applicable

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.