mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-03 09:48:29 +00:00
Strengthen the pledge() polyfill
This commit is contained in:
parent
a6f65eea7c
commit
3c92adfd6e
79 changed files with 1457 additions and 357 deletions
|
@ -17,6 +17,7 @@
|
|||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/macros.internal.h"
|
||||
.privileged
|
||||
|
||||
// Invokes clone() system call on GNU/Systemd.
|
||||
//
|
||||
|
|
|
@ -34,6 +34,7 @@ extern unsigned char _ereal[]; /* αpε */
|
|||
extern unsigned char __privileged_start[]; /* αpε */
|
||||
extern unsigned char __privileged_addr[]; /* αpε */
|
||||
extern unsigned char __privileged_size[]; /* αpε */
|
||||
extern unsigned char __privileged_end[]; /* αpε */
|
||||
extern unsigned char __test_start[]; /* αpε */
|
||||
extern unsigned char __ro[]; /* αpε */
|
||||
extern unsigned char *__relo_start[]; /* αpε */
|
||||
|
|
|
@ -74,6 +74,10 @@ static textexit void LogStackUse(void) {
|
|||
}
|
||||
|
||||
static textstartup void LogStackUseInit(void) {
|
||||
if (IsOpenbsd()) {
|
||||
// avoid pledge() dependency on wpath
|
||||
return;
|
||||
}
|
||||
if (IsTiny()) return;
|
||||
if (isdirectory("o/" MODE) &&
|
||||
getcwd(stacklog, sizeof(stacklog) - strlen("/o/" MODE "/stack.log"))) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue