[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor] 01/05: sandbox: fix openat filtering on AArch64



This is an automated email from the git hooks/post-receive script.

nickm pushed a commit to branch main
in repository tor.

commit 531275b0f36b39fb6a5c6aaab47e26993ce6fa91
Author: Pierre Bourdon <delroth@xxxxxxxxx>
AuthorDate: Sat Apr 30 11:52:59 2022 +0200

    sandbox: fix openat filtering on AArch64
    
    New glibc versions not sign-extending 32 bit negative constants seems to
    not be a thing on AArch64. I suspect that this might not be the only
    architecture where the sign-extensions is happening, and the correct fix
    might be instead to use a proper 32 bit comparison for the first openat
    parameter. For now, band-aid fix this so the sandbox can work again on
    AArch64.
---
 src/lib/sandbox/sandbox.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/lib/sandbox/sandbox.c b/src/lib/sandbox/sandbox.c
index e87edd8e21..4681d4795a 100644
--- a/src/lib/sandbox/sandbox.c
+++ b/src/lib/sandbox/sandbox.c
@@ -518,7 +518,12 @@ libc_uses_openat_for_opendir(void)
 static int
 libc_negative_constant_needs_cast(void)
 {
+#if defined(__aarch64__) && defined(__LP64__)
+  /* Existing glibc versions always sign-extend to 64 bits on AArch64. */
+  return 0;
+#else
   return is_libc_at_least(2, 27);
+#endif
 }
 
 /** Allow a single file to be opened.  If <b>use_openat</b> is true,

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits