summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Varga <pvarga@inf.u-szeged.hu>2022-03-09 10:42:20 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2022-03-14 10:30:58 +0000
commitcfb6eca50319e0eb8de8c996a04feba41aa43b75 (patch)
tree2245014954190196311a275c50cf149c3b8f8fe3
parent78831e7aca3f82a0c64499706c8017c13389efa3 (diff)
[Backport] sandbox: build if glibc 2.34+ dynamic stack size is enabled
Compilation of sandbox fails when using dynamic stack size in glibc 2.34 or newer. This is because the value is not a literal anymore but obtained through sysconf. To avoid this, use memset to put zeros in the buffer. Pick-to: 87-based 90-based 94-based Change-Id: Iff7ddca815378ab1de2f3ca2d200d8db75f42dd2 Review-URL: https://chromium-review.googlesource.com/c/chromium/src/+/3436947 Cr-Commit-Position: refs/heads/main@{#967943} Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit b789116ca6111fa26c7a6d6ea22513b95c3573af) Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
-rw-r--r--chromium/sandbox/linux/services/credentials.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/chromium/sandbox/linux/services/credentials.cc b/chromium/sandbox/linux/services/credentials.cc
index ad0714a7f5e..3dc5457cdd2 100644
--- a/chromium/sandbox/linux/services/credentials.cc
+++ b/chromium/sandbox/linux/services/credentials.cc
@@ -95,7 +95,10 @@ bool ChrootToSafeEmptyDir() {
// attempt this optimization.
clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
- char tls_buf[PTHREAD_STACK_MIN] = {0};
+ // PTHREAD_STACK_MIN can be dynamic in glibc2.34+, so it is not possible to
+ // zeroify tls_buf assigning { 0 }
+ char tls_buf[PTHREAD_STACK_MIN];
+ memset(tls_buf, 0, PTHREAD_STACK_MIN);
tls = tls_buf;
#endif