From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752626AbdEEJtY (ORCPT ); Fri, 5 May 2017 05:49:24 -0400 Received: from albert.telenet-ops.be ([195.130.137.90]:59820 "EHLO albert.telenet-ops.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751878AbdEEJtX (ORCPT ); Fri, 5 May 2017 05:49:23 -0400 From: Geert Uytterhoeven To: Ingo Molnar , Peter Zijlstra , Oleg Nesterov , Thomas Gleixner Cc: linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org, Geert Uytterhoeven Subject: [PATCH/RFC] signal: Export signal_wake_up_state() to modules Date: Fri, 5 May 2017 11:49:11 +0200 Message-Id: <1493977751-19340-1-git-send-email-geert+renesas@glider.be> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When using signal_wake_up() from a loadable kernel module: ERROR: "signal_wake_up_state" [drivers/spi/spi-sh-msiof.ko] undefined! Export signal_wake_up_state() to modules to fix this. Reported-by: kbuild test robot Signed-off-by: Geert Uytterhoeven --- I'm using signal_wake_up() to abort a task blocked on wait_for_completion_interruptible(), cfr. sh_msiof_slave_abort() in "spi: sh-msiof: Add slave mode support" (http://www.spinics.net/lists/devicetree/msg175575.html). Is exporting signal_wake_up_state() an acceptable solution? Alternatively, I can extract the code to abort an completion into a generic abort_completion() function, and export that. Or is there a better way to abort a completion? Thanks! --- kernel/signal.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/signal.c b/kernel/signal.c index 7e59ebc2c25e669e..f130598acd34f08b 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -660,6 +660,7 @@ void signal_wake_up_state(struct task_struct *t, unsigned int state) if (!wake_up_state(t, state | TASK_INTERRUPTIBLE)) kick_process(t); } +EXPORT_SYMBOL_GPL(signal_wake_up_state); /* * Remove signals in mask from the pending set and queue. -- 2.7.4