The assumed O_PATH|O_CLOEXEC is not sufficient in many cases. They can be the default but there needs to be some way to pass them in.