From 3b2088cbf226dcadba9ce16df82460ae52a81d3b Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 27 Feb 2023 16:12:24 +0100 Subject: [PATCH] 6.1-stable patches added patches: pm-sleep-avoid-using-pr_cont-in-the-tasks-freezing-code.patch --- ...g-pr_cont-in-the-tasks-freezing-code.patch | 102 ++++++++++++++++++ queue-6.1/series | 1 + 2 files changed, 103 insertions(+) create mode 100644 queue-6.1/pm-sleep-avoid-using-pr_cont-in-the-tasks-freezing-code.patch diff --git a/queue-6.1/pm-sleep-avoid-using-pr_cont-in-the-tasks-freezing-code.patch b/queue-6.1/pm-sleep-avoid-using-pr_cont-in-the-tasks-freezing-code.patch new file mode 100644 index 00000000000..8fce02ebd4b --- /dev/null +++ b/queue-6.1/pm-sleep-avoid-using-pr_cont-in-the-tasks-freezing-code.patch @@ -0,0 +1,102 @@ +From a449dfbfc0894676ad0aa1873383265047529e3a Mon Sep 17 00:00:00 2001 +From: "Rafael J. Wysocki" +Date: Thu, 1 Dec 2022 19:33:09 +0100 +Subject: PM: sleep: Avoid using pr_cont() in the tasks freezing code +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Rafael J. Wysocki + +commit a449dfbfc0894676ad0aa1873383265047529e3a upstream. + +Using pr_cont() in the tasks freezing code related to system-wide +suspend and hibernation is problematic, because the continuation +messages printed there are susceptible to interspersing with other +unrelated messages which results in output that is hard to +understand. + +Address this issue by modifying try_to_freeze_tasks() to print +messages that don't require continuations and adjusting its +callers accordingly. + +Reported-by: Thomas Weißschuh +Signed-off-by: Rafael J. Wysocki +Reviewed-by: Petr Mladek +Cc: Paul Menzel +Signed-off-by: Greg Kroah-Hartman +--- + kernel/power/process.c | 21 ++++++++------------- + 1 file changed, 8 insertions(+), 13 deletions(-) + +--- a/kernel/power/process.c ++++ b/kernel/power/process.c +@@ -27,6 +27,8 @@ unsigned int __read_mostly freeze_timeou + + static int try_to_freeze_tasks(bool user_only) + { ++ const char *what = user_only ? "user space processes" : ++ "remaining freezable tasks"; + struct task_struct *g, *p; + unsigned long end_time; + unsigned int todo; +@@ -36,6 +38,8 @@ static int try_to_freeze_tasks(bool user + bool wakeup = false; + int sleep_usecs = USEC_PER_MSEC; + ++ pr_info("Freezing %s\n", what); ++ + start = ktime_get_boottime(); + + end_time = jiffies + msecs_to_jiffies(freeze_timeout_msecs); +@@ -82,7 +86,6 @@ static int try_to_freeze_tasks(bool user + elapsed_msecs = ktime_to_ms(elapsed); + + if (todo) { +- pr_cont("\n"); + pr_err("Freezing of tasks %s after %d.%03d seconds " + "(%d tasks refusing to freeze, wq_busy=%d):\n", + wakeup ? "aborted" : "failed", +@@ -101,8 +104,8 @@ static int try_to_freeze_tasks(bool user + read_unlock(&tasklist_lock); + } + } else { +- pr_cont("(elapsed %d.%03d seconds) ", elapsed_msecs / 1000, +- elapsed_msecs % 1000); ++ pr_info("Freezing %s completed (elapsed %d.%03d seconds)\n", ++ what, elapsed_msecs / 1000, elapsed_msecs % 1000); + } + + return todo ? -EBUSY : 0; +@@ -130,14 +133,11 @@ int freeze_processes(void) + static_branch_inc(&freezer_active); + + pm_wakeup_clear(0); +- pr_info("Freezing user space processes ... "); + pm_freezing = true; + error = try_to_freeze_tasks(true); +- if (!error) { ++ if (!error) + __usermodehelper_set_disable_depth(UMH_DISABLED); +- pr_cont("done."); +- } +- pr_cont("\n"); ++ + BUG_ON(in_atomic()); + + /* +@@ -166,14 +166,9 @@ int freeze_kernel_threads(void) + { + int error; + +- pr_info("Freezing remaining freezable tasks ... "); +- + pm_nosig_freezing = true; + error = try_to_freeze_tasks(false); +- if (!error) +- pr_cont("done."); + +- pr_cont("\n"); + BUG_ON(in_atomic()); + + if (error) diff --git a/queue-6.1/series b/queue-6.1/series index 34bbf9ed52b..848b2adfd7d 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -22,3 +22,4 @@ hid-ignore-battery-for-elan-touchscreen-29df-on-hp.patch selftests-ocelot-tc_flower_chains-make-test_vlan_ing.patch x86-cpu-add-lunar-lake-m.patch drm-amd-display-disable-s-g-display-on-dcn-3.1.2-3.patch +pm-sleep-avoid-using-pr_cont-in-the-tasks-freezing-code.patch -- 2.47.3