uml: fix 5.10 build
authorChristian Lamparter <chunkeey@gmail.com>
Sat, 24 Sep 2022 21:42:42 +0000 (23:42 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Sat, 24 Sep 2022 21:53:53 +0000 (23:53 +0200)
the 5.10 uml build currently breaks with:

/usr/bin/ld: arch/um/os-Linux/signal.o: in function `sigusr1_handler':
arch/um/os-Linux/signal.c:141: undefined reference to `uml_pm_wake'

But there's an upstream fix for this. Backport the fix
for now but also let upstream know so it finds its way
through the -stable releases.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/uml/patches-5.10/001-um-Fix-build-w-o-CONFIG_PM_SLEEP.patch [new file with mode: 0644]

diff --git a/target/linux/uml/patches-5.10/001-um-Fix-build-w-o-CONFIG_PM_SLEEP.patch b/target/linux/uml/patches-5.10/001-um-Fix-build-w-o-CONFIG_PM_SLEEP.patch
new file mode 100644 (file)
index 0000000..1f7db9e
--- /dev/null
@@ -0,0 +1,32 @@
+From 1fb1abc83636f5329c26cd29f0f19f3faeb697a5 Mon Sep 17 00:00:00 2001
+From: Johannes Berg <johannes.berg@intel.com>
+Date: Mon, 14 Dec 2020 20:51:02 +0100
+Subject: [PATCH] um: Fix build w/o CONFIG_PM_SLEEP
+
+uml_pm_wake() is unconditionally called from the SIGUSR1 wakeup
+handler since that's in the userspace portion of UML, and thus
+a bit tricky to ifdef out. Since pm_system_wakeup() can always
+be called (but may be an empty inline), also simply always have
+uml_pm_wake() to fix the build.
+
+Reported-by: Randy Dunlap <rdunlap@infradead.org>
+Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Richard Weinberger <richard@nod.at>
+---
+--- a/arch/um/kernel/um_arch.c
++++ b/arch/um/kernel/um_arch.c
+@@ -387,12 +387,12 @@
+ {
+ }
+-#ifdef CONFIG_PM_SLEEP
+ void uml_pm_wake(void)
+ {
+       pm_system_wakeup();
+ }
++#ifdef CONFIG_PM_SLEEP
+ static int init_pm_wake_signal(void)
+ {
+       /*