diff options
author | nia <nia@pkgsrc.org> | 2020-11-06 12:15:53 +0000 |
---|---|---|
committer | nia <nia@pkgsrc.org> | 2020-11-06 12:15:53 +0000 |
commit | ef11a08a7fddd9854df23db69a4e2a886daa99d4 (patch) | |
tree | 830c5c6256bf3d9024200adca861cef874e8b186 | |
parent | 550f485c6401bf71c2e7bbe78b7068e3f3c519b5 (diff) | |
download | pkgsrc-ef11a08a7fddd9854df23db69a4e2a886daa99d4.tar.gz |
Make luajit PaX MPROTECT safe.
-rw-r--r-- | games/love010/Makefile | 4 | ||||
-rw-r--r-- | games/love010/options.mk | 4 | ||||
-rw-r--r-- | games/love09/Makefile | 4 | ||||
-rw-r--r-- | games/love09/options.mk | 4 | ||||
-rw-r--r-- | games/love11/Makefile | 4 | ||||
-rw-r--r-- | games/love11/options.mk | 4 | ||||
-rw-r--r-- | lang/LuaJIT2/Makefile | 6 | ||||
-rw-r--r-- | lang/LuaJIT2/distinfo | 4 | ||||
-rw-r--r-- | lang/LuaJIT2/patches/patch-src_lj__ccallback.c | 21 | ||||
-rw-r--r-- | lang/LuaJIT2/patches/patch-src_lj__mcode.c | 27 | ||||
-rw-r--r-- | www/luakit/Makefile | 4 | ||||
-rw-r--r-- | www/luakit/options.mk | 3 |
12 files changed, 65 insertions, 24 deletions
diff --git a/games/love010/Makefile b/games/love010/Makefile index 620c01926b9..2c1a08166a6 100644 --- a/games/love010/Makefile +++ b/games/love010/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.7 2020/08/18 17:57:55 leot Exp $ +# $NetBSD: Makefile,v 1.8 2020/11/06 12:15:54 nia Exp $ DISTNAME= love-0.10.2-linux-src PKGNAME= ${DISTNAME:S/-linux-src//:S/love/love010/} -PKGREVISION= 3 +PKGREVISION= 4 CATEGORIES= games lua MASTER_SITES= https://bitbucket.org/rude/love/downloads/ diff --git a/games/love010/options.mk b/games/love010/options.mk index 831c9734b3e..24a8cfac423 100644 --- a/games/love010/options.mk +++ b/games/love010/options.mk @@ -1,4 +1,4 @@ -# $NetBSD: options.mk,v 1.3 2020/06/28 09:29:16 nia Exp $ +# $NetBSD: options.mk,v 1.4 2020/11/06 12:15:54 nia Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.love @@ -12,8 +12,6 @@ PKG_SUGGESTED_OPTIONS= luajit .include "../../mk/bsd.options.mk" .if !empty(PKG_OPTIONS:Mluajit) -# JIT needs WX mappings -NOT_PAX_MPROTECT_SAFE+= love0.10/bin/love . include "../../lang/LuaJIT2/buildlink3.mk" .else CONFIGURE_ARGS+= --with-lua=lua diff --git a/games/love09/Makefile b/games/love09/Makefile index 3817ea7bcac..d232fd81c4d 100644 --- a/games/love09/Makefile +++ b/games/love09/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.7 2020/08/18 17:57:55 leot Exp $ +# $NetBSD: Makefile,v 1.8 2020/11/06 12:15:54 nia Exp $ DISTNAME= love-0.9.2-linux-src PKGNAME= ${DISTNAME:S/-linux-src//:S/love/love09/} -PKGREVISION= 3 +PKGREVISION= 4 CATEGORIES= games lua MASTER_SITES= https://bitbucket.org/rude/love/downloads/ diff --git a/games/love09/options.mk b/games/love09/options.mk index bf9cddcfb3f..e5cb2c0ea0c 100644 --- a/games/love09/options.mk +++ b/games/love09/options.mk @@ -1,4 +1,4 @@ -# $NetBSD: options.mk,v 1.1 2020/07/01 16:39:58 nia Exp $ +# $NetBSD: options.mk,v 1.2 2020/11/06 12:15:54 nia Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.love @@ -12,8 +12,6 @@ PKG_SUGGESTED_OPTIONS= luajit .include "../../mk/bsd.options.mk" .if !empty(PKG_OPTIONS:Mluajit) -# JIT needs WX mappings -NOT_PAX_MPROTECT_SAFE+= love0.9/bin/love CONFIGURE_ARGS+= --with-lua=luajit . include "../../lang/LuaJIT2/buildlink3.mk" .else diff --git a/games/love11/Makefile b/games/love11/Makefile index 01a3c67eaff..daa8d985fd5 100644 --- a/games/love11/Makefile +++ b/games/love11/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.3 2020/08/18 17:57:55 leot Exp $ +# $NetBSD: Makefile,v 1.4 2020/11/06 12:15:54 nia Exp $ DISTNAME= love-11.3-linux-src PKGNAME= ${DISTNAME:S/-linux-src//:S/love/love11/} -PKGREVISION= 1 +PKGREVISION= 2 CATEGORIES= games lua MASTER_SITES= ${MASTER_SITE_GITHUB:=love2d/} GITHUB_PROJECT= love diff --git a/games/love11/options.mk b/games/love11/options.mk index 85f8bca12d9..7fd886705b5 100644 --- a/games/love11/options.mk +++ b/games/love11/options.mk @@ -1,4 +1,4 @@ -# $NetBSD: options.mk,v 1.1 2020/06/29 13:04:14 nia Exp $ +# $NetBSD: options.mk,v 1.2 2020/11/06 12:15:54 nia Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.love PKG_SUPPORTED_OPTIONS= luajit @@ -11,8 +11,6 @@ PKG_SUGGESTED_OPTIONS= luajit .include "../../mk/bsd.options.mk" .if !empty(PKG_OPTIONS:Mluajit) -# JIT needs WX mappings -NOT_PAX_MPROTECT_SAFE+= love11/bin/love . include "../../lang/LuaJIT2/buildlink3.mk" .else CONFIGURE_ARGS+= --with-lua=lua diff --git a/lang/LuaJIT2/Makefile b/lang/LuaJIT2/Makefile index 47d36b5fc79..5a493451d75 100644 --- a/lang/LuaJIT2/Makefile +++ b/lang/LuaJIT2/Makefile @@ -1,9 +1,9 @@ -# $NetBSD: Makefile,v 1.15 2020/07/02 10:16:59 nia Exp $ +# $NetBSD: Makefile,v 1.16 2020/11/06 12:15:53 nia Exp $ # DISTNAME= LuaJIT-2.0.5 PKGNAME= ${DISTNAME:S/LuaJIT/LuaJIT2/} -PKGREVISION= 1 +PKGREVISION= 2 CATEGORIES= lang lua MASTER_SITES= http://luajit.org/download/ @@ -22,8 +22,6 @@ ONLY_FOR_PLATFORM+= *-*-mipsel ONLY_FOR_PLATFORM+= *-*-powerpc ONLY_FOR_PLATFORM+= *-*-x86_64 -NOT_PAX_MPROTECT_SAFE+= bin/luajit - # Address pkg/47587 lua not linked to pthread causes issues with modules PTHREAD_OPTS+= native PTHREAD_AUTO_VARS= yes diff --git a/lang/LuaJIT2/distinfo b/lang/LuaJIT2/distinfo index 9eff05684cc..904639a4b7c 100644 --- a/lang/LuaJIT2/distinfo +++ b/lang/LuaJIT2/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.10 2018/06/02 20:01:21 he Exp $ +$NetBSD: distinfo,v 1.11 2020/11/06 12:15:53 nia Exp $ SHA1 (LuaJIT-2.0.5.tar.gz) = 10427215da7d424fd9e48adbea087966053cdb6f RMD160 (LuaJIT-2.0.5.tar.gz) = 5176d34fa112c4586394398c3a5c9ce1ad4d4c72 @@ -7,3 +7,5 @@ Size (LuaJIT-2.0.5.tar.gz) = 849845 bytes SHA1 (patch-Makefile) = edea30d017c9d2938d951bfdee88020906945aee SHA1 (patch-src_Makefile) = d7236260dc17f470d7d6e41a57a22dcd3a501c28 SHA1 (patch-src_lj__arch.h) = 4c34706db4c678b368bb3e38b07505abde01e590 +SHA1 (patch-src_lj__ccallback.c) = 8032bc451a504ae9538fb0ae4cc1ee729ede3a70 +SHA1 (patch-src_lj__mcode.c) = c150e0b07ab441e983ace21e0e813fd4334290b5 diff --git a/lang/LuaJIT2/patches/patch-src_lj__ccallback.c b/lang/LuaJIT2/patches/patch-src_lj__ccallback.c new file mode 100644 index 00000000000..acfab0a0d84 --- /dev/null +++ b/lang/LuaJIT2/patches/patch-src_lj__ccallback.c @@ -0,0 +1,21 @@ +$NetBSD: patch-src_lj__ccallback.c,v 1.1 2020/11/06 12:15:53 nia Exp $ + +Make this PaX-MPROTECT safe on NetBSD. + +--- src/lj_ccallback.c.orig 2017-05-01 18:11:00.000000000 +0000 ++++ src/lj_ccallback.c +@@ -228,8 +228,12 @@ static void callback_mcode_new(CTState * + if (!p) + lj_err_caller(cts->L, LJ_ERR_FFI_CBACKOV); + #elif LJ_TARGET_POSIX +- p = mmap(NULL, sz, (PROT_READ|PROT_WRITE), MAP_PRIVATE|MAP_ANONYMOUS, +- -1, 0); ++#ifdef PROT_MPROTECT ++ p = mmap(NULL, sz, (PROT_READ|PROT_WRITE) | PROT_MPROTECT(PROT_EXEC), ++#else ++ p = mmap(NULL, sz, (PROT_READ|PROT_WRITE), ++#endif ++ MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); + if (p == MAP_FAILED) + lj_err_caller(cts->L, LJ_ERR_FFI_CBACKOV); + #else diff --git a/lang/LuaJIT2/patches/patch-src_lj__mcode.c b/lang/LuaJIT2/patches/patch-src_lj__mcode.c new file mode 100644 index 00000000000..647e6ac3bd4 --- /dev/null +++ b/lang/LuaJIT2/patches/patch-src_lj__mcode.c @@ -0,0 +1,27 @@ +$NetBSD: patch-src_lj__mcode.c,v 1.1 2020/11/06 12:15:53 nia Exp $ + +Make PaX-MPROTECT safe for NetBSD. + +--- src/lj_mcode.c.orig 2017-05-01 18:11:00.000000000 +0000 ++++ src/lj_mcode.c +@@ -99,7 +99,11 @@ static int mcode_setprot(void *p, size_t + + static void *mcode_alloc_at(jit_State *J, uintptr_t hint, size_t sz, int prot) + { ++#ifdef PROT_MPROTECT ++ void *p = mmap((void *)hint, sz, prot | PROT_MPROTECT(MCPROT_RWX), MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); ++#else + void *p = mmap((void *)hint, sz, prot, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); ++#endif + if (p == MAP_FAILED) { + if (!hint) lj_trace_err(J, LJ_TRERR_MCODEAL); + p = NULL; +@@ -255,7 +259,7 @@ static void *mcode_alloc(jit_State *J, s + /* All memory addresses are reachable by relative jumps. */ + static void *mcode_alloc(jit_State *J, size_t sz) + { +-#ifdef __OpenBSD__ ++#if defined(__NetBSD__) || defined(__OpenBSD__) + /* Allow better executable memory allocation for OpenBSD W^X mode. */ + void *p = mcode_alloc_at(J, 0, sz, MCPROT_RUN); + if (p && mcode_setprot(p, sz, MCPROT_GEN)) { diff --git a/www/luakit/Makefile b/www/luakit/Makefile index 1ce2cd8dc54..eb85727b1a6 100644 --- a/www/luakit/Makefile +++ b/www/luakit/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.6 2020/11/05 09:09:21 ryoon Exp $ +# $NetBSD: Makefile,v 1.7 2020/11/06 12:15:54 nia Exp $ DISTNAME= luakit-2.2.1 -PKGREVISION= 1 +PKGREVISION= 2 CATEGORIES= www lua MASTER_SITES= ${MASTER_SITE_GITHUB:=luakit/} diff --git a/www/luakit/options.mk b/www/luakit/options.mk index 4b67efab86b..baae7df943c 100644 --- a/www/luakit/options.mk +++ b/www/luakit/options.mk @@ -1,4 +1,4 @@ -# $NetBSD: options.mk,v 1.1 2020/08/09 17:25:37 nia Exp $ +# $NetBSD: options.mk,v 1.2 2020/11/06 12:15:54 nia Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.luakit PKG_SUPPORTED_OPTIONS= luajit @@ -11,7 +11,6 @@ PKG_SUGGESTED_OPTIONS= luajit .if !empty(PKG_OPTIONS:Mluajit) MAKE_FLAGS+= USE_LUAJIT=1 -NOT_PAX_MPROTECT_SAFE+= bin/luakit . include "../../lang/LuaJIT2/buildlink3.mk" .else MAKE_FLAGS+= USE_LUAJIT=0 |