Package: release.debian.org Severity: normal X-Debbugs-Cc: [email protected], [email protected] Control: affects -1 + src:openjdk-21 User: [email protected] Usertags: unblock
Please unblock package openjdk-21 openjdk-21 is one of the packages where we are following an upstream branch for security fixes. The attached debdiff only covers debian/ "Test in progress" in the britney output is due to the package being in the REJECT list on these architectures. unblock openjdk-21/21.0.8+9-1
diff -Nru openjdk-21-21.0.7+6/debian/changelog openjdk-21-21.0.8+9/debian/changelog --- openjdk-21-21.0.7+6/debian/changelog 2025-04-24 02:57:46.000000000 +0300 +++ openjdk-21-21.0.8+9/debian/changelog 2025-07-17 15:34:13.000000000 +0300 @@ -1,3 +1,19 @@ +openjdk-21 (21.0.8+9-1) unstable; urgency=high + + * OpenJDK 21.0.8 release, build 9. + - Addresses CVE-2025-5010, CVE-2025-50059, CVE-2025-30754, CVE-2025-30749. + + [ Vladimir Petko ] + * d/p/jdk-8359735-proposed.patch: Fix process tests failing in Ubuntu 25.10. + + -- Matthias Klose <[email protected]> Thu, 17 Jul 2025 16:12:28 +0200 + +openjdk-21 (21.0.8~5ea-1) unstable; urgency=medium + + * OpenJDK 21.0.8 early access, build 5. + + -- Matthias Klose <[email protected]> Tue, 03 Jun 2025 13:05:25 +0200 + openjdk-21 (21.0.7+6-1) unstable; urgency=high * OpenJDK 21.0.7 release, build 6. diff -Nru openjdk-21-21.0.7+6/debian/patches/jdk-8334895-proposed.patch openjdk-21-21.0.8+9/debian/patches/jdk-8334895-proposed.patch --- openjdk-21-21.0.7+6/debian/patches/jdk-8334895-proposed.patch 2024-08-08 09:25:10.000000000 +0300 +++ openjdk-21-21.0.8+9/debian/patches/jdk-8334895-proposed.patch 1970-01-01 02:00:00.000000000 +0200 @@ -1,20 +0,0 @@ -Description: set default compatible cds alignment to auto for arm64 - ARM64 requires cds alignment option to be enabled if CDS is enabled. - Setting it to true will enable the option even if CDS is disabled - causing a configuration error. Setting option to auto allows one to - enable it only when CDS is enabled. -Author: Vladimir Petko <[email protected]> -Bug: https://bugs.openjdk.org/browse/JDK-8334895 -Last-Update: 2024-06-25 - ---- a/make/autoconf/jdk-options.m4 -+++ b/make/autoconf/jdk-options.m4 -@@ -197,7 +197,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS] - # three different page sizes: 4K, 64K, and if run on Mac m1 hardware, 16K. - COMPATIBLE_CDS_ALIGNMENT_DEFAULT=false - if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then -- COMPATIBLE_CDS_ALIGNMENT_DEFAULT=true -+ COMPATIBLE_CDS_ALIGNMENT_DEFAULT=auto - fi - AC_SUBST(COMPATIBLE_CDS_ALIGNMENT_DEFAULT) - diff -Nru openjdk-21-21.0.7+6/debian/patches/jdk-8359735.patch openjdk-21-21.0.8+9/debian/patches/jdk-8359735.patch --- openjdk-21-21.0.7+6/debian/patches/jdk-8359735.patch 1970-01-01 02:00:00.000000000 +0200 +++ openjdk-21-21.0.8+9/debian/patches/jdk-8359735.patch 2025-07-17 15:32:27.000000000 +0300 @@ -0,0 +1,63 @@ +Description: Process tests fail due to rust-coreutils + To accommodate systems like Ubuntu 25.10 that use Rust coreutils, + this PR updates tests that previously assumed busybox was the only + environment to use symlinks for core utilities. + - java/lang/ProcessBuilder/Basic.java: The test is updated to simply + verify that /bin/true and /bin/false are symlinks, + removing the hardcoded check for a /bin/busybox target. + - java/lang/ProcessHandle/InfoTest.java: The test logic is relaxed. + It now confirms that /bin/sleep is a symlink and then uses the + symlink's target as the expected executable name. +Author: Vladimir Petko <[email protected]> +Origin: upstream, https://github.com/openjdk/jdk/pull/25838 +Bug: https://bugs.openjdk.org/browse/JDK-8359735 +Reviewed-by: Roger Riggs <[email protected]> +Last-Update: 2025-06-19 +--- + +--- a/test/jdk/java/lang/ProcessBuilder/Basic.java ++++ b/test/jdk/java/lang/ProcessBuilder/Basic.java +@@ -696,7 +696,7 @@ + public static String path() { return path; } + private static final String path = path0(); + private static String path0(){ +- if (!Platform.isBusybox("/bin/true")) { ++ if (!Files.isSymbolicLink(Paths.get("/bin/true"))) { + return "/bin/true"; + } else { + File trueExe = new File("true"); +@@ -711,7 +711,7 @@ + public static String path() { return path; } + private static final String path = path0(); + private static String path0(){ +- if (!Platform.isBusybox("/bin/false")) { ++ if (!Files.isSymbolicLink(Paths.get("/bin/false"))) { + return "/bin/false"; + } else { + File falseExe = new File("false"); +--- a/test/jdk/java/lang/ProcessHandle/InfoTest.java ++++ b/test/jdk/java/lang/ProcessHandle/InfoTest.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 2014, 2025, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it +@@ -295,10 +295,12 @@ + String expected = "sleep"; + if (Platform.isWindows()) { + expected = "sleep.exe"; +- } else if (Platform.isBusybox("/bin/sleep")) { +- // With busybox sleep is just a sym link to busybox. +- // The busbox executable is seen as ProcessHandle.Info command. +- expected = "busybox"; ++ } else if (Files.isSymbolicLink(Paths.get("/bin/sleep"))) { ++ // Busybox sleep is a symbolic link to /bin/busybox. ++ // Rust coreutils sleep is a symbolic link to coreutils ++ // The busbox/coreutils executables are seen as ProcessHandle.Info command. ++ Path executable = Files.readSymbolicLink(Paths.get("/bin/sleep")); ++ expected = executable.getFileName().toString(); + } + Assert.assertTrue(command.endsWith(expected), "Command: expected: \'" + + expected + "\', actual: " + command); diff -Nru openjdk-21-21.0.7+6/debian/patches/misalign-pointer-for-armhf.patch openjdk-21-21.0.8+9/debian/patches/misalign-pointer-for-armhf.patch --- openjdk-21-21.0.7+6/debian/patches/misalign-pointer-for-armhf.patch 2024-03-21 00:00:09.000000000 +0200 +++ openjdk-21-21.0.8+9/debian/patches/misalign-pointer-for-armhf.patch 2025-07-17 17:12:13.000000000 +0300 @@ -3,7 +3,7 @@ Add 1 to address type rather than aligned structure to produce misaligned pointer. --- a/test/hotspot/gtest/metaspace/test_is_metaspace_obj.cpp +++ b/test/hotspot/gtest/metaspace/test_is_metaspace_obj.cpp -@@ -61,7 +61,7 @@ +@@ -61,7 +61,7 @@ public: ASSERT_TRUE(MetaspaceObj::is_valid(p)); // A misaligned object shall not be recognized @@ -12,7 +12,7 @@ ASSERT_FALSE(MetaspaceObj::is_valid(p_misaligned)); // Test VirtualSpaceList::contains -@@ -72,7 +72,7 @@ +@@ -72,7 +72,7 @@ public: ASSERT_TRUE(vslist->contains((MetaWord*)p)); // A misaligned pointer shall still be recognized by list::contains @@ -20,4 +20,4 @@ + ASSERT_TRUE(vslist->contains((MetaWord*)((address)p + 1))); // Now for some bogus values - ASSERT_FALSE(MetaspaceObj::is_valid((MetaspaceObj*)NULL)); + ASSERT_FALSE(MetaspaceObj::is_valid((MetaspaceObj*)nullptr)); diff -Nru openjdk-21-21.0.7+6/debian/patches/series openjdk-21-21.0.8+9/debian/patches/series --- openjdk-21-21.0.7+6/debian/patches/series 2025-01-17 09:51:04.000000000 +0200 +++ openjdk-21-21.0.8+9/debian/patches/series 2025-07-17 15:32:18.000000000 +0300 @@ -42,10 +42,10 @@ hsdis-fpic.patch jdk-8329983.patch jdk-8334502-proposed.patch -jdk-8334895-proposed.patch jdk-8331541.patch jdk-8336529-proposed.patch jdk-8312488.patch # FIXME: which one of these two? zero-alpha-workaround.diff #jdk-8347014-proposed.patch +jdk-8359735.patch diff -Nru openjdk-21-21.0.7+6/debian/patches/test-use-ip-address.patch openjdk-21-21.0.8+9/debian/patches/test-use-ip-address.patch --- openjdk-21-21.0.7+6/debian/patches/test-use-ip-address.patch 2024-03-21 01:08:28.000000000 +0200 +++ openjdk-21-21.0.8+9/debian/patches/test-use-ip-address.patch 2025-07-17 17:12:13.000000000 +0300 @@ -4,25 +4,14 @@ Author: Vladimir Petko <[email protected]> Forwarded: not-needed Last-Update: 2023-03-27 ---- a/test/jdk/java/net/InetAddress/IsReachableViaLoopbackTest.java -+++ b/test/jdk/java/net/InetAddress/IsReachableViaLoopbackTest.java -@@ -36,7 +36,7 @@ - public static void main(String[] args) { - try { - InetAddress addr = InetAddress.getByName("localhost"); -- InetAddress remoteAddr = InetAddress.getByName("bugs.openjdk.org"); -+ InetAddress remoteAddr = InetAddress.getByName("8.8.8.8"); - if (!addr.isReachable(10000)) - throw new RuntimeException("Localhost should always be reachable"); - NetworkInterface inf = NetworkInterface.getByInetAddress(addr); --- a/test/jdk/java/net/InetAddress/getOriginalHostName.java +++ b/test/jdk/java/net/InetAddress/getOriginalHostName.java -@@ -39,7 +39,7 @@ +@@ -39,7 +39,7 @@ public class getOriginalHostName { SharedSecrets.getJavaNetInetAddressAccess(); public static void main(String[] args) throws Exception { - final String HOST = "dummyserver.java.net"; + final String HOST = "localhost"; InetAddress ia = null; - ia = InetAddress.getByName(HOST); - testInetAddress(ia, HOST); + ia = getInetAddress(HOST); + if (ia != null) testInetAddress(ia, HOST); diff -Nru openjdk-21-21.0.7+6/debian/rules openjdk-21-21.0.8+9/debian/rules --- openjdk-21-21.0.7+6/debian/rules 2025-04-23 07:43:49.000000000 +0300 +++ openjdk-21-21.0.8+9/debian/rules 2025-07-17 17:12:28.000000000 +0300 @@ -2035,7 +2035,7 @@ dh_builddeb -a $(nodemo) $(nojrez) #$(bd_options) git_project = jdk21u -git_tag = jdk-21.0.7+6 +git_tag = jdk-21.0.8+9 package_version = $(shell echo $(PKGVERSION) | sed 's/-[^-][^-]*$$//') ifneq ($(is_upstream_release),yes) package_version := $(subst +,~,$(package_version))

