public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/criu] rawhide: One more test only patch for linux 7.1
@ 2026-07-06 8:03 Adrian Reber
0 siblings, 0 replies; only message in thread
From: Adrian Reber @ 2026-07-06 8:03 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/criu
Branch : rawhide
Commit : 77b92b38c1f878a0ad8c5147667b1de69bd5e6fa
Author : Adrian Reber <adrian@lisas.de>
Date : 2026-07-06T10:03:09+02:00
Stats : +57/-2 in 3 file(s)
URL : https://src.fedoraproject.org/rpms/criu/c/77b92b38c1f878a0ad8c5147667b1de69bd5e6fa?branch=rawhide
Log:
One more test only patch for linux 7.1
Signed-off-by: Adrian Reber <adrian@lisas.de>
---
diff --git a/3023.patch b/3023.patch
new file mode 100644
index 0000000..8b7c0bc
--- /dev/null
+++ b/3023.patch
@@ -0,0 +1,50 @@
+From 51660aba34b41c08d892bda6528abe992a5687e7 Mon Sep 17 00:00:00 2001
+From: Adrian Reber <areber@redhat.com>
+Date: Tue, 19 May 2026 17:11:35 +0000
+Subject: [PATCH] zdtm: unregister rseq before zeroing the rseq area
+
+Starting with Linux 7.1, the kernel enforces strict read-only field
+protection for the rseq V2 ABI. Userspace is no longer allowed to
+modify kernel-managed fields (cpu_id_start, cpu_id, node_id, mm_cid)
+while rseq is registered. Violations are detected on the next context
+switch and the offending process is killed with SIGSEGV.
+
+The rseq01 test was zeroing the entire glibc-registered rseq area
+with memset() before calling test_init(), which internally calls
+fork(). This corrupted the read-only fields while the glibc rseq
+registration was still active, causing the kernel to send SIGSEGV
+during the fork.
+
+Fix this by calling unregister_old_rseq() before the memset in both
+main() and thread_routine(), so the kernel is no longer monitoring
+those fields when they are zeroed. The subsequent register_thread()
+call re-registers rseq with the clean area.
+
+Link: https://github.com/torvalds/linux/commit/7f0023215262221ca08d56be2203e8a4770be033
+
+Assisted-by: Claude Code (https://claude.ai/code):claude-opus-4-6
+Signed-off-by: Adrian Reber <areber@redhat.com>
+---
+ test/zdtm/transition/rseq01.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/test/zdtm/transition/rseq01.c b/test/zdtm/transition/rseq01.c
+index 9c5925bc45..0d5485e162 100644
+--- a/test/zdtm/transition/rseq01.c
++++ b/test/zdtm/transition/rseq01.c
+@@ -252,6 +252,7 @@ void *thread_routine(void *args)
+ int cpu;
+
+ rseq_ptr = rseq_area();
++ unregister_old_rseq();
+ memset((void *)rseq_ptr, 0, rseq_reg_size());
+ register_thread();
+ task_waiter_complete(&waiter, 1);
+@@ -277,6 +278,7 @@ int main(int argc, char *argv[])
+ pthread_t thread;
+
+ rseq_ptr = rseq_area();
++ unregister_old_rseq();
+ memset((void *)rseq_ptr, 0, rseq_reg_size());
+
+ test_init(argc, argv);
diff --git a/criu.spec b/criu.spec
index 8660187..689ebbf 100644
--- a/criu.spec
+++ b/criu.spec
@@ -13,7 +13,7 @@
Name: criu
Version: 4.2
-Release: 20%{?dist}
+Release: 21%{?dist}
Summary: Tool for Checkpoint/Restore in User-space
License: GPL-2.0-only AND LGPL-2.1-only AND MIT
URL: http://criu.org/
@@ -24,6 +24,7 @@ Patch2: 0002-net-Route-veth-restore-through-usernsd-for-userns-mode.patch
Patch3: 0003-zdtm-Fix-rseq01-test-for-kernel-7.0-rseq-changes.patch
Patch4: 0004-sockets-Treat-UDPLITE-as-optional-in-collect_err.patch
Patch5: 0005-zdtm-Skip-socket_udplite-test-when-kernel-lacks-UDPLITE.patch
+Patch6: https://patch-diff.githubusercontent.com/raw/checkpoint-restore/criu/pull/3023.patch
# Add protobuf-c as a dependency.
# We use this patch because the protobuf-c package name
@@ -126,6 +127,7 @@ This script can help to workaround the so called "PID mismatch" problem.
%patch -P 3 -p1
%patch -P 4 -p1
%patch -P 5 -p1
+%patch -P 6 -p1
%patch -P 99 -p1
%build
@@ -214,6 +216,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libcriu.a
%tmpfiles_create %{name}.conf
%changelog
+* Mon Jul 06 2026 Adrian Reber <areber@redhat.com> - 4.2-21
+- One more test only patch for linux 7.1
+
* Wed Jun 03 2026 Python Maint <python-maint@redhat.com> - 4.2-20
- Rebuilt for Python 3.15
diff --git a/rpminspect.yaml b/rpminspect.yaml
index 93f2777..70daeea 100644
--- a/rpminspect.yaml
+++ b/rpminspect.yaml
@@ -1,4 +1,4 @@
---
annocheck:
jobs:
- - hardened: --verbose --skip-dynamic-tags --skip-property-note --skip-bind-now --skip-pie --skip-cf-protection --skip-notes --skip-gaps --skip-optimization --skip-stack-clash --skip-stack-prot
+ - hardened: --verbose --skip-dynamic-tags --skip-property-note --skip-bind-now --skip-pie --skip-cf-protection --skip-notes --skip-gaps --skip-optimization --skip-stack-clash --skip-stack-prot --skip-branch-protection
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-06 8:03 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-06 8:03 [rpms/criu] rawhide: One more test only patch for linux 7.1 Adrian Reber
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox