void-packages/srcpkgs/openjdk11/files/musl_patches/8289477.patch

36 lines
1.4 KiB
Diff

From da6d1fc0e0aeb1fdb504aced4b0dba0290ec240f Mon Sep 17 00:00:00 2001
From: Thomas Stuefe <stuefe@openjdk.org>
Date: Thu, 30 Jun 2022 06:19:25 +0000
Subject: [PATCH] 8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc
Reviewed-by: dholmes, clanger
---
src/hotspot/os/linux/os_linux.cpp | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp
index 726926218907..8ee10e201c69 100644
--- a/src/hotspot/os/linux/os_linux.cpp
+++ b/src/hotspot/os/linux/os_linux.cpp
@@ -4591,7 +4591,8 @@ static int _cpu_count(const cpu_set_t* cpus) {
// dynamic check - see 6515172 for details.
// If anything goes wrong we fallback to returning the number of online
// processors - which can be greater than the number available to the process.
-int os::Linux::active_processor_count() {
+static int get_active_processor_count() {
+ // Note: keep this function, with its CPU_xx macros, *outside* the os namespace (see JDK-8289477).
cpu_set_t cpus; // can represent at most 1024 (CPU_SETSIZE) processors
cpu_set_t* cpus_p = &cpus;
int cpus_size = sizeof(cpu_set_t);
@@ -4663,6 +4664,10 @@ int os::Linux::active_processor_count() {
return cpu_count;
}
+int os::Linux::active_processor_count() {
+ return get_active_processor_count();
+}
+
// Determine the active processor count from one of
// three different sources:
//