summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibC/sys
AgeCommit message (Collapse)Author
2021-02-23Everywhere: Rename ASSERT => VERIFYAndreas Kling
(...and ASSERT_NOT_REACHED => VERIFY_NOT_REACHED) Since all of these checks are done in release builds as well, let's rename them to VERIFY to prevent confusion, as everyone is used to assertions being compiled out in release. We can introduce a new ASSERT macro that is specifically for debug checks, but I'm doing this wholesale conversion first since we've accumulated thousands of these already, and it's not immediately obvious which ones are suitable for ASSERT.
2021-02-15LibC+LibPthread: Implement pthread_rwlock_*AnotherTest
This implementation is pretty damn dumb, and probably has more bugs than features. But for the time being, it seems to work. however, we should definitely replace it with a good implementation sometime very soon :^)
2021-02-15LibC+LibPthread: Stub out pthread_rwlock_* functionsAnotherTest
2021-02-15Kernel+LibC: Implement readvAnotherTest
We already had writev, so let's just add readv too.
2021-02-15Kernel+LibC: Stub out SO_{SND_RCV}BUFAnotherTest
2021-02-14Kernel+Userland: Give sys$recvfd() an options argument for O_CLOEXECAndreas Kling
@bugaevc pointed out that we shouldn't be setting this flag in userspace, and he's right of course.
2021-02-05Userland: Add LibSystem and funnel all syscalls through itAndreas Kling
This achieves two things: - Programs can now intentionally perform arbitrary syscalls by calling syscall(). This allows us to work on things like syscall fuzzing. - It restricts the ability of userspace to make syscalls to a single 4KB page of code. In order to call the kernel directly, an attacker must now locate this page and call through it.
2021-01-30Kernel: Add FIBMAP ioctl to Ext2FileSystemPeter Elliott
FIBMAP is a linux ioctl that gives the location on disk of a specific block of a file
2021-01-22Libraries: Add missing headersBen Wiederhake
A C++ source file containing just #include <LibFoo/Bar.h> should always compile cleanly. This patch adds missing header inclusions that could have caused weird error messages if they were used in a different context. Also, this confused QtCreator.
2021-01-17Kernel: Some futex improvementsTom
This adds support for FUTEX_WAKE_OP, FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_REQUEUE, and FUTEX_CMP_REQUEUE, as well well as global and private futex and absolute/relative timeouts against the appropriate clock. This also changes the implementation so that kernel resources are only used when a thread is blocked on a futex. Global futexes are implemented as offsets in VMObjects, so that different processes can share a futex against the same VMObject despite potentially being mapped at different virtual addresses.
2021-01-12Libraries: Move to Userland/Libraries/Andreas Kling