--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: openjdk-21@packages.debian.org, security@debian.org
Control: affects -1 + src:openjdk-21
User: release.debian.org@packages.debian.org
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 <doko@ubuntu.com> 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 <doko@ubuntu.com> 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 <vladimir.petko@canonical.com>
-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 <vladimir.petko@canonical.com>
+Origin: upstream, https://github.com/openjdk/jdk/pull/25838
+Bug: https://bugs.openjdk.org/browse/JDK-8359735
+Reviewed-by: Roger Riggs <roger.riggs@oracle.com>
+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 <vladimir.petko@canonical.com>
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))
--- End Message ---