Age | Commit message (Collapse) | Author |
|
PTRACE_KILL is deprecated, and the manpage recommends using
kill(pid, SIGKILL) instead.
Change-Id: I8eda5a7add224838c2b01ef8b6999560bae446eb
|
|
A lot of validation has moved into argument parsing, but ~no-op
match arms haven't really been dropped.
Change-Id: If4fb36073d5d8e8efc771beaa4a2b98cfb0a5726
|
|
We don't accept nonzero values here, so we should simply reject those early.
Change-Id: I329ae76b1f44f6d3305e710ed8f5f90ee0df988f
|
|
Change-Id: I709870b36d5b2329be53389af6c816aaeadfdd7b
|
|
This way we validate the sigsetsize early, and leave the invalid state
unrepresentable.
Change-Id: I237942089b4eb7fff06ada7ea8be7b8f94b2fcfd
|
|
Factor out the rather sprawling syscall ABI definitions from the main
program. The macros, argument parsing, and file descriptor code get
some space to breathe too.
Change-Id: I0aa01b6b94e4d4b770bb9ef59926e2236c50b258
|
|
Removing the RLIMIT_STACK soft limit changes address space layout
markedly.
Change-Id: I64d1a1fc1b397200245d5f790ce126c99d4b4797
|
|
Change-Id: I2868f0583757f83b014ca8fa206029309c6ddd9d
|
|
Specifically, contiguous linear mappings from the same backing file.
Change-Id: I8adc6a3e33df6a2c27cb12218e41cb22b1b4621d
|
|
This differentiates \n in pathnames from \012 in pathnames.
Change-Id: I2c86084c9e46f42b43ea7c824be147d97d26a800
|
|
Change-Id: Iad5f0bc07018c7c0d8c5345fc499e0e171bf75e3
|
|
These are from right after exec(2), so they are all done by the kernel.
Change-Id: Ic76aa9c40acac64462fa6ab5c33cabcee3e096e5
|
|
Except for times(2), which is called incessantly by cc1.
Change-Id: Ie98f022136f7b018a3fce706af194502dc4fe202
|
|
Change-Id: I5b29792ad80dd3f80a6f51db45bced09cdbdfd6a
|
|
Change-Id: I9210105171314d036dc12a1b36ce01aaeeb2466d
|
|
Change-Id: I943054765b764416ebe031535067dd3631c2ddaf
|
|
Change-Id: I053f3f261963d955b0e54b20e5cd42f81b3e6a57
|
|
Change-Id: I9237b8740fea2b84174b77487fc42e9464a0b2fc
|
|
Change-Id: I5e9f300a6db5fd40b2d46679ae6e613c1352a899
|
|
Change-Id: I4feb931cbf98c852f975e1e68fd5e0ec8f0eecf4
|
|
Change-Id: If0d0d68264a2395c7ee746b5bca0c794ca4e4d65
|
|
Change-Id: Ia06d73ee49881d5db2fc57545e8040ce3976a584
|
|
Change-Id: Ie21b75abcfc3f3d0fe68d84d81e92914fc9a7c0c
|
|
Change-Id: Iaf9905852fb8cef97340da149ada6e6e4c3b6d17
|
|
Change-Id: Ia85d147d493e1d6fb5a67ff5240dc64b17afb1af
|
|
Change-Id: Ib8aec16cfca88db69765e7fa25aeaf8ea240f18d
|
|
Change-Id: Ib8ddefb7a969e5cfd7e891233d083670a0c72596
|
|
We'd like to be able to have heap-allocated syscall data,
which means we can't impl Copy.
Change-Id: Ib40dcaf7f99baeaae0dae1153e80deae88d76978
|
|
Change-Id: I6ed5bd5dffbf5706b718be4f15896b831b3d64f5
|
|
Change-Id: I93538f4fd3daa4065d70fa3d4d9f638d83093f7b
|
|
Change-Id: Ic6392ac15d249f22aec9d866de088d5901d09948
|
|
Change-Id: I12392d386027542815e2a4b96372121ece3adfeb
|
|
Change-Id: Ie9eae95ff5f6e438ef84007153a599d092953382
|
|
Change-Id: I81047a4ac68e11a37882175732e4985c2f43a183
|
|
Having macro identifiers match the "real" identifier style makes macro
code markedly more readable.
Change-Id: Ib675390cc04941ce782c75b2ee686709441081fc
|
|
Change-Id: I025b5f707b15933c4dccdf36ce9e2c8d8673fe74
|
|
Change-Id: Iaf6d5717e2d83a6f81fda34da086311d21f345c2
|
|
This doesn't specifically handle
* the distinction between borrowed/owned file descriptors
(in non-return positions, that only applies to `close`)
* "nullable" fd parameters (-1 for not-present)
* other sentinel fds, like AT_FDCWD
* fd validity in general
Change-Id: I00fa68ec94b8f24e28c661d0c007becb37c0a5f3
|
|
Change-Id: Icfcab2fccc1c152a694dfba3ba1e272cdacdbfab
|
|
Change-Id: I56731f205e065bf501fd31a69c71c10aa7a2f720
|
|
Change-Id: I092d4f47231d560a0c4ac023e63051def34c2c92
|
|
Change-Id: I26356c9b88c838e3c87e4083ac17f958c7c57bb7
|
|
Squeeze the bitflags / SyscallArg impl boilerplate into one macro.
Change-Id: I5b5213b6f3ee11bc61b6f8439ceb2510ef6dffec
|
|
Change-Id: I1b4e7e01b5d5c840ac2e94f9637552f71e61ed04
|
|
Every single syscall arg producing a warning is just noisy.
Change-Id: I339260886110e2982217ebbf9d29cb1cf91c747c
|
|
We separate type-based parsing of syscall arguments from more detailed
validation based on multiple parameters or on specific values.
The former is implemented with a macro that takes syscall signatures
and generates the relevant enum variant and parsing code.
Co-authored-by: edef <edef@unfathomable.blue>
Change-Id: I7e334d3e128e7b1461bfd6fae7c8ec5dd6ada0a8
|
|
Same bug as Ied63822001c8700fc71c89ec16d18036fbc33972, hiding missing
behaviour around dirfd. newfstatat(AT_FDCWD, path, …) is used, as is
newfstatat(fd, "", …).
Change-Id: I03b9dc5118d7a47514abef82c4a577e8362fbb4d
|
|
Our conversion always mangled it, *and* our comparison was inverted,
so both bugs remained hidden.
Change-Id: Ied63822001c8700fc71c89ec16d18036fbc33972
|
|
The fourth argument is passed in r10, not rcx, which is merely
clobbered by syscalls.
Change-Id: I0c7210c621f6955deccf21348ce6f495424555cc
|
|
Change-Id: I9ef820d2c22d54c6d8d6b259c2eea3f27d6459ac
|