From patchwork Mon Feb 8 14:34:21 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 8250531 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 567CA9F319 for ; Mon, 8 Feb 2016 14:36:28 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 73BD120145 for ; Mon, 8 Feb 2016 14:36:27 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 893CE200E7 for ; Mon, 8 Feb 2016 14:36:26 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1aSmu9-0004qy-SF; Mon, 08 Feb 2016 14:35:05 +0000 Received: from mout.kundenserver.de ([217.72.192.73]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1aSmu5-0004RJ-QV for linux-arm-kernel@lists.infradead.org; Mon, 08 Feb 2016 14:35:03 +0000 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue103) with ESMTPA (Nemesis) id 0MW8Zl-1aVJyB3uJN-00XHM8; Mon, 08 Feb 2016 15:34:39 +0100 From: Arnd Bergmann To: Greg Kroah-Hartman Subject: [PATCH] lkdtm: mark execute_location as noinline Date: Mon, 8 Feb 2016 15:34:21 +0100 Message-Id: <1454942069-2780643-1-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 X-Provags-ID: V03:K0:j/Dw1Io6I5X60nLlEVA9DaWlIwNJzXVqLIhOe1+TccLeO8/VNyr sSa9/uNR1qwXWPlYqY8A0rvVT3HJ9g3/nX2TPvKEBZyV2O8i+bUgfZDXHzDu0qtOP1MF6oQ LSopp5+e7VpIEnEUzijhMuR4bI+QM7Pi+55f4rAH9nkSvEV6ymBwnSf2FUv6JAj2VCmRQFG O7O8UxdoosPt5d4tsyjeQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:UL6PI+8+/8k=:WbJ/o4o9GT5PtSvRWlZ1Sx iydTHHIeNEmxrele450PYYzhBTxGh4oXQdxbvovnze/5SDeB9Jz5pOj+mul0vxBYmd+hu7zcv 1CshWmOaGhYTs9CO+v6ezwsNhUClIPhmZ/jZaxzQwQzi0qw2PmYdq6Aal9uxYT2/WuTCtq58M gbEPL8D6lal5J+xED8CksrBwnuAfs2pMrdrKUTw5M2KAyPBk+rZAijNQJaH7LbbwurMVA3V0p u56Ip9pWPm8pwL+yjViOoHzkv7N1rQwViPzGLowtOUQPsNf+DdpcSSytV4OBtN8IDx+jlGf60 3k3jEnMokw0mr7yMg0Ga6oRoSobDEHUnIuSzRSQiOaTGbEaCI22XjXWFw4VVDNreHHSCiRVqQ KeihhmHAnDPOHp1xSWkxwsIMFoiXCGNnaLV9PcgoW+pvbH4I2Xqi65niF5vto6AH05ukVgvCt +dIJqaUcsDvv9wAV/0EsnQK9fcT0GXCA6yYVcyM3ljUBY4h+7DqIiYCBQXJxvcKemebL3AtnL AJQN23fXOHDaNiNkowVAKucVUMvwaYOzYUDdGI7hGuinoUEcWCfEUIYoN9IBqI48Zsv5G/o13 /BeaYX8QQ0Ia9eEDo8qS6m+RuXVNlT+SKUqOrL3p9cN9sDHqSBDGx2/LM+0CJaTwZaRX0tcdW 0+fsdpAiHNO3rUXoHc6kh85UrJBF3EGVpFJRBNPCvKM3aYEDdm6WQnmXd4hDhZXBgqKU= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160208_063502_340357_AF191339 X-CRM114-Status: GOOD ( 10.46 ) X-Spam-Score: -2.6 (--) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Arnd Bergmann , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.5 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The kernel sometimes fails to link when lkdrm is built-in and compiled with clang: relocation truncated to fit: R_ARM_THM_CALL against `.bss' The reason here is that a relocation from .text to .bss fails to generate a trampoline because .bss is not an executable section. Marking the function 'noinline' turns the relative branch to .bss into an absolute branch to the function argument, and that works fine. Signed-off-by: Arnd Bergmann --- drivers/misc/lkdtm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/misc/lkdtm.c b/drivers/misc/lkdtm.c index 11fdadc68e53..5c1351b19029 100644 --- a/drivers/misc/lkdtm.c +++ b/drivers/misc/lkdtm.c @@ -335,7 +335,7 @@ static noinline void corrupt_stack(void) memset((void *)data, 0, 64); } -static void execute_location(void *dst) +static void noinline execute_location(void *dst) { void (*func)(void) = dst;