aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/tests/secure/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* include: ssp: fortify <signal.h>Ricardo Branco2025-06-111-0/+1
| | | | | | | | sig2str(3) Reviewed by: imp, kib, des, jilles Pull Request: https://github.com/freebsd/freebsd-src/pull/1696 Closes: https://github.com/freebsd/freebsd-src/pull/1696
* libc: tests: fix luacheck warnings in the fortification test generatorKyle Evans2025-03-201-1/+9
| | | | | | | | | | | | | | All of these are simple shadowing that don't need to happen; we're passing the shadowed value through in every case anyways, just use it in the closure in a more lua-natural fashion. While we're here, lint the generator every time we generate tests to ensure that we don't regress without having to remember to manually run luacheck. Reported by: jlduran Reviewed by: jlduran, markj Differential Revision: https://reviews.freebsd.org/D49235
* include: ssp: fortify <sys/socket.h>Kyle Evans2024-07-131-0/+1
| | | | | | | | | | The entire recv*() implementation set is ripe for opportunities to validate, so do what we can with what we have. Reviewed by: markj Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D45686
* include: ssp: fortify <sys/select.h>Kyle Evans2024-07-131-0/+1
| | | | | | | | | | Notably sanity check indices passed to the FD_*() macros against the size of the fd_set itself. Reviewed by: markj Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D45685
* include: ssp: fortify <sys/uio.h>Kyle Evans2024-07-131-0/+1
| | | | | | | | | | Check both the buffer size of the iov object itself, as well as that of each indidvidually io base. Reviewed by: markj Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D45684
* include: ssp: fortify <sys/random.h>Kyle Evans2024-07-131-0/+4
| | | | | | | | | That is to say, fortify getrandom(2). Reviewed by: markj Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D45683
* include: ssp: fortify <wchar.h>Kyle Evans2024-07-131-0/+1
| | | | | | | | | | | | This includes all of the w*() equivalents to str*()/mem*() implemented in more or less the same way. For these ones, we'll just use header-only implementations from the start to stop further cluttering the libc symbol table. Reviewed by: markj Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D45682
* include: ssp: fortify <stdlib.h>Kyle Evans2024-07-131-0/+1
| | | | | | | | | | | The immediately obvious and attractive targets from <stdlib.h> are arc4random_buf(3) and realpath(3) -- scraping the header didn't reveal much else of interest. Reviewed by: markj Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D45681
* include: ssp: fortify poll/ppoll from <poll.h>Kyle Evans2024-07-131-0/+1
| | | | | | | | | | For poll/ppoll we just need to bounds-check the poll array that we're about to write out to. Reviewed by: kib, markj (earlier version) Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D45680
* libc: tests: add testing infrastructure for _FORTIFY_SOURCEKyle Evans2024-07-131-0/+20
The _FORTIFY_SOURCE tests will be generated by a lua script to avoid a lot of redundancy in writing these tests. For each function that we're fortifying, the plan is to test at least the following three scenarios: - Writing up to one byte before the end of the buffer, - Writing up to the end of the buffer, - Writing one byte past the end of the buffer The buffer is shoved into a struct on the stack to guarantee a stack layout in which we have a valid byte after the buffer so that level 2 fortification will trip and we can have confidence that it wasn't some other stack/memory protection instead. The generated tests are divided roughly into which header we're attributing them to so that we can parallelize the build -- the full set is a bit over 9000 lines of C and takes 11s to build on the hardware that I'm testing on if it's a single monolothic file. Reviewed by: markj Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D45678