teach ld.so how to call the mimmutable() system call
authorderaadt <deraadt@openbsd.org>
Sat, 5 Nov 2022 18:44:09 +0000 (18:44 +0000)
committerderaadt <deraadt@openbsd.org>
Sat, 5 Nov 2022 18:44:09 +0000 (18:44 +0000)
ok kettenis

libexec/ld.so/Makefile
libexec/ld.so/syscall.h

index b84590c..3080432 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: Makefile,v 1.82 2021/12/23 18:50:32 guenther Exp $
+#      $OpenBSD: Makefile,v 1.83 2022/11/05 18:44:09 deraadt Exp $
 
 SUBDIR=ldconfig ldd
 MAN=   ld.so.1
@@ -28,8 +28,8 @@ SRCS+=        dl_uname.c dl_dirname.c strlcat.c strlen.c trace.c
 SRCS+= malloc.c reallocarray.c tib.c ffs.c
 
 syscall=close exit fstat getdents getentropy getthrid issetugid kbind \
-       mmap mprotect munmap msyscall open pledge read __realpath sendsyslog \
-       __set_tcb sysctl thrkill utrace write
+       mimmutable mmap mprotect munmap msyscall open pledge read \
+       __realpath sendsyslog __set_tcb sysctl thrkill utrace write
 
 .if (${MACHINE_ARCH} == "i386")
 syscall+=mquery
index d23b01d..a42f716 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: syscall.h,v 1.2 2022/01/08 06:49:41 guenther Exp $ */
+/*     $OpenBSD: syscall.h,v 1.3 2022/11/05 18:44:09 deraadt Exp $ */
 
 /*
  * Copyright (c) 1998 Per Fogelstrom, Opsycon AB
@@ -52,6 +52,7 @@ int   _dl_mprotect(const void *, size_t, int);
 void   *_dl_mquery(void *, size_t, int, int, int, off_t);
 int    _dl_msyscall(void *addr, size_t len);
 int    _dl_munmap(const void *, size_t);
+int    _dl_mimmutable(const void *, size_t);
 int    _dl_open(const char *, int);
 int    _dl_pledge(const char *, const char **);
 ssize_t        _dl_read(int, const char *, size_t);