From 5311d9c39e7c9b7bac9eb994ea81841d6148bb9f Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 12 May 2025 15:30:58 +0200 Subject: [PATCH] 6.12-stable patches added patches: revert-um-work-around-sched_yield-not-yielding-in-time-travel-mode.patch --- ...eld-not-yielding-in-time-travel-mode.patch | 68 +++++++++++++++++++ queue-6.12/series | 1 + 2 files changed, 69 insertions(+) create mode 100644 queue-6.12/revert-um-work-around-sched_yield-not-yielding-in-time-travel-mode.patch 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 index 0000000000..298d8d5f6f --- /dev/null +++ b/queue-6.12/revert-um-work-around-sched_yield-not-yielding-in-time-travel-mode.patch @@ -0,0 +1,68 @@ +From chunkeey@gmail.com Mon May 12 13:25:04 2025 +From: Christian Lamparter +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 + +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: # 6.12.y +Cc: Benjamin Berg +Signed-off-by: Christian Lamparter +Signed-off-by: Greg Kroah-Hartman +--- + 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); + diff --git a/queue-6.12/series b/queue-6.12/series index 1a8c7dfe5d..31bb1772ae 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -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 -- 2.47.3