libreboot-utils: simplified pledge/unveil usage

i no longer care about openbsd 5.9. we assume unveil
is available, as has been the case for the past 12
years.

i use wrappers for unveil and pledge, which means that
i call them on every os. on OSes that don't have these,
i just return. it's somewhat inelegant, but also means
that i see errors more easily, e.g. misnamed variables
inside previous ifdef OpenBSD blocks.

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2026-03-28 05:48:45 +00:00
parent 7f39ce5f9b
commit 55f0e6ac8e
3 changed files with 15 additions and 79 deletions
+2 -7
View File
@@ -294,12 +294,6 @@ err_no_cleanup(int stfu, int nvm_errval, const char *msg, ...)
int saved_errno = errno;
const char *p;
#if defined(__OpenBSD__) && defined(OpenBSD)
#if (OpenBSD) >= 509
if (pledge("stdio", NULL) == -1)
fprintf(stderr, "pledge failure during exit");
#endif
#endif
if (!errno)
saved_errno = errno = ECANCELED;
@@ -363,6 +357,8 @@ lbgetprogname(char *argv0)
return progname;
}
/* https://man.openbsd.org/pledge.2
https://man.openbsd.org/unveil.2 */
int
xpledgex(const char *promises, const char *execpromises)
{
@@ -375,7 +371,6 @@ xpledgex(const char *promises, const char *execpromises)
errno = saved_errno;
return 0;
}
int
xunveilx(const char *path, const char *permissions)
{