fcntl() varargs parsing should be conditional on the command
This seems very wrong. POSIX says the argument is of type
intfor some operations, so only an
intshould be read for those, although I guess after the varargs syscall discussion in practice reading a
uintptr_tin userspace is fine (but not currently on any of Morello, CHERI-MIPS and CHERI-RISC-V as they all use a long as the varargs slot size). However it definitely must not be read unconditionally; with bounded varargs this will fault for commands that don't take an argument, so this needs to be conditional on the command.