From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BB49FC77B7C for ; Tue, 9 May 2023 03:56:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234634AbjEID4E (ORCPT ); Mon, 8 May 2023 23:56:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37490 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232876AbjEIDzl (ORCPT ); Mon, 8 May 2023 23:55:41 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D152ED06D; Mon, 8 May 2023 20:55:17 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3B6C36314C; Tue, 9 May 2023 03:55:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 771A9C4339E; Tue, 9 May 2023 03:55:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1683604516; bh=tU2A4wj5lvfjaL193dHua5J4mUq9RDcdrukuxdAY/Zk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ir4UUxS6l10zdSKDTzZ1qrGls83fHJZoPVSoKlBrBTssOyl9McXT29uFyzMKlAujh G5Nl0N/hlGyHyEBkcoLbh2xd5qCjrTadBaCmkX3AvO3EGpHIbVyaXvGcR2BUF82jfi e5gN/zQ2RPlzYBGEAyr0Gnf482UiFn3WUwXj4LqKdy+S8AB+PBDnElwSOfKRMCAVsW WKEtPXyR/3nMgr/T8RNh83o4ODFuJQg/UmDTKhBe9fNsk60fCLVzvd+K6jIWlFMI1x GiBJoj8bmCh3T647MOQAcNW1XOMaXZsNlYU0oZeQpnVGREufHwTsu0pzgU/P72Vb0r 0Qe1VVH/RjLtw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Josh Poimboeuf , Peter Zijlstra , Sasha Levin , keescook@chromium.org, gregkh@linuxfoundation.org Subject: [PATCH AUTOSEL 6.2 2/6] lkdtm/stackleak: Fix noinstr violation Date: Mon, 8 May 2023 23:55:08 -0400 Message-Id: <20230509035515.59855-2-sashal@kernel.org> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230509035515.59855-1-sashal@kernel.org> References: <20230509035515.59855-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Josh Poimboeuf [ Upstream commit f571da059f86fd9d432aea32c9c7e5aaa53245d8 ] Fixes the following warning: vmlinux.o: warning: objtool: check_stackleak_irqoff+0x2b6: call to _printk() leaves .noinstr.text section Signed-off-by: Josh Poimboeuf Signed-off-by: Peter Zijlstra (Intel) Link: https://lore.kernel.org/r/ee5209f53aa0a62aea58be18f2b78b17606779a6.1681320026.git.jpoimboe@kernel.org Signed-off-by: Sasha Levin --- drivers/misc/lkdtm/stackleak.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/misc/lkdtm/stackleak.c b/drivers/misc/lkdtm/stackleak.c index 025b133297a6b..f1d0221609138 100644 --- a/drivers/misc/lkdtm/stackleak.c +++ b/drivers/misc/lkdtm/stackleak.c @@ -43,12 +43,14 @@ static void noinstr check_stackleak_irqoff(void) * STACK_END_MAGIC, and in either casee something is seriously wrong. */ if (current_sp < task_stack_low || current_sp >= task_stack_high) { + instrumentation_begin(); pr_err("FAIL: current_stack_pointer (0x%lx) outside of task stack bounds [0x%lx..0x%lx]\n", current_sp, task_stack_low, task_stack_high - 1); test_failed = true; goto out; } if (lowest_sp < task_stack_low || lowest_sp >= task_stack_high) { + instrumentation_begin(); pr_err("FAIL: current->lowest_stack (0x%lx) outside of task stack bounds [0x%lx..0x%lx]\n", lowest_sp, task_stack_low, task_stack_high - 1); test_failed = true; @@ -86,11 +88,14 @@ static void noinstr check_stackleak_irqoff(void) if (*(unsigned long *)poison_low == STACKLEAK_POISON) continue; + instrumentation_begin(); pr_err("FAIL: non-poison value %lu bytes below poison boundary: 0x%lx\n", poison_high - poison_low, *(unsigned long *)poison_low); test_failed = true; + goto out; } + instrumentation_begin(); pr_info("stackleak stack usage:\n" " high offset: %lu bytes\n" " current: %lu bytes\n" @@ -113,6 +118,7 @@ static void noinstr check_stackleak_irqoff(void) } else { pr_info("OK: the rest of the thread stack is properly erased\n"); } + instrumentation_end(); } static void lkdtm_STACKLEAK_ERASING(void) -- 2.39.2