]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.12-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 May 2025 13:30:58 +0000 (15:30 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 May 2025 13:30:58 +0000 (15:30 +0200)
added patches:
revert-um-work-around-sched_yield-not-yielding-in-time-travel-mode.patch

queue-6.12/revert-um-work-around-sched_yield-not-yielding-in-time-travel-mode.patch [new file with mode: 0644]
queue-6.12/series

diff --git a/queue-6.12/revert-um-work-around-sched_yield-not-yielding-in-time-travel-mode.patch b/queue-6.12/revert-um-work-around-sched_yield-not-yielding-in-time-travel-mode.patch
new file mode 100644 (file)
index 0000000..298d8d5
--- /dev/null
@@ -0,0 +1,68 @@
+From chunkeey@gmail.com  Mon May 12 13:25:04 2025
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Fri,  9 May 2025 11:50:39 +0200
+Subject: [PATCH 6.12] Revert "um: work around sched_yield not yielding in time-travel mode"
+To: linux-kernel@vger.kernel.org, linux-um@lists.infradead.org
+Cc: benjamin.berg@intel.com, sashal@kernel.org, johannes@sipsolutions.net, richard@nod.at, stable@vger.kernel.org
+Message-ID: <20250509095040.33355-1-chunkeey@gmail.com>
+
+From: Christian Lamparter <chunkeey@gmail.com>
+
+This reverts commit da780c4a075ba2deb05ae29f0af4a990578c7901 which is
+commit 887c5c12e80c8424bd471122d2e8b6b462e12874 upstream.
+
+
+Reason being that the patch depends on at least commit 0b8b2668f998
+("um: insert scheduler ticks when userspace does not yield") in order to
+build. Otherwise it fails with:
+
+| /usr/bin/ld: arch/um/kernel/skas/syscall.o: in function `handle_syscall':
+|      linux-6.12.27/arch/um/kernel/skas/syscall.c:43:(.text+0xa2): undefined
+| reference to `tt_extra_sched_jiffies'
+| collect2: error: ld returned 1 exit status
+
+The author Benjamin Berg commented: "I think it is better to just not
+backport commit 0b8b2668f998 ("um: insert scheduler ticks when userspace
+does not yield")"
+
+Link: https://lore.kernel.org/linux-um/8ce0b6056a9726e540f61bce77311278654219eb.camel@sipsolutions.net/
+Cc: <stable@vger.kernel.org> # 6.12.y
+Cc: Benjamin Berg <benjamin.berg@intel.com>
+Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/um/include/linux/time-internal.h |    2 --
+ arch/um/kernel/skas/syscall.c         |   11 -----------
+ 2 files changed, 13 deletions(-)
+
+--- a/arch/um/include/linux/time-internal.h
++++ b/arch/um/include/linux/time-internal.h
+@@ -83,8 +83,6 @@ extern void time_travel_not_configured(v
+ #define time_travel_del_event(...) time_travel_not_configured()
+ #endif /* CONFIG_UML_TIME_TRAVEL_SUPPORT */
+-extern unsigned long tt_extra_sched_jiffies;
+-
+ /*
+  * Without CONFIG_UML_TIME_TRAVEL_SUPPORT this is a linker error if used,
+  * which is intentional since we really shouldn't link it in that case.
+--- a/arch/um/kernel/skas/syscall.c
++++ b/arch/um/kernel/skas/syscall.c
+@@ -31,17 +31,6 @@ void handle_syscall(struct uml_pt_regs *
+               goto out;
+       syscall = UPT_SYSCALL_NR(r);
+-
+-      /*
+-       * If no time passes, then sched_yield may not actually yield, causing
+-       * broken spinlock implementations in userspace (ASAN) to hang for long
+-       * periods of time.
+-       */
+-      if ((time_travel_mode == TT_MODE_INFCPU ||
+-           time_travel_mode == TT_MODE_EXTERNAL) &&
+-          syscall == __NR_sched_yield)
+-              tt_extra_sched_jiffies += 1;
+-
+       if (syscall >= 0 && syscall < __NR_syscalls) {
+               unsigned long ret = EXECUTE_SYSCALL(syscall, regs);
index 1a8c7dfe5db5ecf10e26c115435060214f2423fd..31bb1772ae3d80fba996fc752674251f5b0fc05d 100644 (file)
@@ -150,3 +150,4 @@ drm-xe-tests-mocs-update-xe_force_wake_get-return-ha.patch
 drm-xe-tests-mocs-hold-xe_forcewake_all-for-lncf-reg.patch
 io_uring-sqpoll-increase-task_work-submission-batch-.patch
 do_umount-add-missing-barrier-before-refcount-checks.patch
+revert-um-work-around-sched_yield-not-yielding-in-time-travel-mode.patch