From 81eac9079663bba7020b58c896baca839a6af8f0 Mon Sep 17 00:00:00 2001
From: Vasily Gorbik <gor@linux.ibm.com>
Date: Tue, 1 Feb 2022 19:54:22 +0100
Subject: [PATCH] s390/test_unwind: show tests as skipped if unsupported

Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
---
 arch/s390/lib/test_unwind.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/arch/s390/lib/test_unwind.c b/arch/s390/lib/test_unwind.c
index bc7973359ae27..653bf170ee509 100644
--- a/arch/s390/lib/test_unwind.c
+++ b/arch/s390/lib/test_unwind.c
@@ -136,7 +136,6 @@ static __always_inline unsigned long get_psw_addr(void)
 	return psw_addr;
 }
 
-#ifdef CONFIG_KPROBES
 static int pgm_pre_handler(struct kprobe *p, struct pt_regs *regs)
 {
 	struct unwindme *u = unwindme;
@@ -145,7 +144,6 @@ static int pgm_pre_handler(struct kprobe *p, struct pt_regs *regs)
 			     (u->flags & UWM_SP) ? u->sp : 0);
 	return 0;
 }
-#endif
 
 /* This function may or may not appear in the backtrace. */
 static noinline int unwindme_func4(struct unwindme *u)
@@ -157,11 +155,13 @@ static noinline int unwindme_func4(struct unwindme *u)
 		wait_event(u->task_wq, kthread_should_park());
 		kthread_parkme();
 		return 0;
-#ifdef CONFIG_KPROBES
 	} else if (u->flags & UWM_PGM) {
 		struct kprobe kp;
 		int ret;
 
+		if (!IS_ENABLED(CONFIG_KPROBES))
+			kunit_skip(current_test, "requires CONFIG_KPROBES");
+
 		unwindme = u;
 		memset(&kp, 0, sizeof(kp));
 		kp.symbol_name = "do_report_trap";
@@ -185,7 +185,6 @@ static noinline int unwindme_func4(struct unwindme *u)
 		unregister_kprobe(&kp);
 		unwindme = NULL;
 		return u->ret;
-#endif
 	} else {
 		struct pt_regs regs;
 
@@ -327,7 +326,6 @@ static const struct test_params param_list[] = {
 		.name = "UWM_IRQ | UWM_CALLER | UWM_SP | UWM_REGS"},
 	{.flags = UWM_IRQ | UWM_CALLER | UWM_SP | UWM_REGS | UWM_SWITCH_STACK,
 		.name = "UWM_IRQ | UWM_CALLER | UWM_SP | UWM_REGS | UWM_SWITCH_STACK"},
-	#ifdef CONFIG_KPROBES
 	{.flags = UWM_PGM, .name = "UWM_PGM"},
 	{.flags = UWM_PGM | UWM_SP,
 		.name = "UWM_PGM | UWM_SP"},
@@ -335,7 +333,6 @@ static const struct test_params param_list[] = {
 		.name = "UWM_PGM | UWM_REGS"},
 	{.flags = UWM_PGM | UWM_SP | UWM_REGS,
 		.name = "UWM_PGM | UWM_SP | UWM_REGS"},
-	#endif
 };
 
 /*
-- 
GitLab