David Uhden Collado <[email protected]> wrote:

> I agree that returning ENOSYS for arbitrary pledge violations can
> break program invariants and introduce attack surface. I am not
> arguing that the "error" promise is safe for arbitrary programs.

It introduces attack surface.

> However, I think this is an argument against "error" and its
> interaction with execpromises, rather than necessarily against
> execpromises itself.

But it introduces attack surface.

> For example, ldd uses:
> 
> pledge("stdio rpath exec", "stdio rpath");
> 
> It does not use "error". Violations terminate the process instead of
> allowing execution to continue with potentially broken invariants.

ldd does not need this.

> Would it be reasonable to remove or restrict "error" while retaining
> fail-closed execpromises for carefully controlled execution paths?

No.

Reply via email to