diff options
author | Leah Rowe <leah@libreboot.org> | 2023-06-01 08:40:01 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2023-06-01 08:40:01 +0100 |
commit | 2dabafe69153724d986fc570970d4d54acd03fae (patch) | |
tree | 5be768946906664f9362289c3d3de62940e6f857 /util/nvmutil/nvmutil.h | |
parent | 9a3e65165624ad8cfc75cb7ab3688279746ecc26 (diff) |
util/nvmutil: move xpledge/xunveil to nvmutil.h
They don't precisely *pertain* to nvmutil, but they are
useful helper functions for calling pledge/unveil in
OpenBSD. Ideally, the main file should only contain core
logic pertaining to the execution of *nvmutil*.
Put xpledge() and xunveil() in nvmutil.h.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'util/nvmutil/nvmutil.h')
-rw-r--r-- | util/nvmutil/nvmutil.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/util/nvmutil/nvmutil.h b/util/nvmutil/nvmutil.h index 90834dc0..ec520202 100644 --- a/util/nvmutil/nvmutil.h +++ b/util/nvmutil/nvmutil.h @@ -18,8 +18,6 @@ int validChecksum(int partnum); void setWord(int pos16, int partnum, uint16_t val16); void xorswap_buf(int n, int partnum); void writeGbeFile(int *fd, const char *filename, size_t nw); -void xpledge(const char *promises, const char *execpromises); -void xunveil(const char *path, const char *permissions); #define FILENAME argv[1] #define COMMAND argv[2] @@ -45,3 +43,22 @@ uint8_t big_endian; #define xopen(fd, loc, p) if ((fd = open(loc, p)) == -1) err(ERR(), "%s", loc) #define err_if(x) if (x) err(ERR(), NULL) +void +xpledge(const char *promises, const char *execpromises) +{ + (void)promises; (void)execpromises; +#ifdef __OpenBSD__ + if (pledge(promises, execpromises) == -1) + err(ERR(), "pledge"); +#endif +} + +void +xunveil(const char *path, const char *permissions) +{ + (void)path; (void)permissions; +#ifdef __OpenBSD__ + if (unveil(path, permissions) == -1) + err(ERR(), "unveil"); +#endif +} |