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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 450C6D1715A for ; Tue, 22 Oct 2024 11:41:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=J2ATcs883jmQaYWu0b7taR0P2GVg3YAhGGG0juwvSZI=; b=HTO75mr/+ZJcf7E2QyNtKmSItN dp6DEqMgawCaxdijxXgCMr82/MxBawJklAnbtkG0dpDS1voTv2uTvbKH4XrdVwWAo8bvu62syPBMH CVyh8phv+s/9H6yl4oqwf1lyCZL/o4mk3MOadiojjH1q7eivZbteLlv1OQDCSRyoG4JIjehT1CJgn wMyuSh3cmL3zcXPB36mfXfACBGZWPfQqEAgWgqPSIzenCamUfRGjn1w2nCvnv8ijZYUHV29bS3m2u NhNBB5IpbxZ2LWk2dnwh+6ZzzZ56fUG4N1tsjb5XW060uox0XNmaHdizd2+zsng37dVCw7EkGQTxT KR5Bo24A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t3DGW-0000000Aj15-3All; Tue, 22 Oct 2024 11:41:32 +0000 Received: from nyc.source.kernel.org ([147.75.193.91]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t3DCX-0000000AiUS-2aMU for linux-arm-kernel@lists.infradead.org; Tue, 22 Oct 2024 11:37:27 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 871B3A40571; Tue, 22 Oct 2024 11:37:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 14A43C4CEC3; Tue, 22 Oct 2024 11:37:22 +0000 (UTC) From: Catalin Marinas To: linux-arm-kernel@lists.infradead.org, Mark Rutland Cc: Will Deacon , broonie@kernel.org, mbenes@suse.cz, Puranjay Mohan Subject: Re: [PATCH] arm64: preserve pt_regs::stackframe during exec*() Date: Tue, 22 Oct 2024 12:37:20 +0100 Message-Id: <172959703434.951536.7369989242487464131.b4-ty@arm.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20241021164456.2275285-1-mark.rutland@arm.com> References: <20241021164456.2275285-1-mark.rutland@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241022_043725_745690_9F1F78FD X-CRM114-Status: UNSURE ( 9.45 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Mon, 21 Oct 2024 17:44:56 +0100, Mark Rutland wrote: > When performing an exec*(), there's a transient period before the return > to userspace where any stacktrace will result in a warning triggered by > kunwind_next_frame_record_meta() encountering a struct frame_record_meta > with an unknown type. This can be seen fairly reliably by enabling KASAN > or KFENCE, e.g. > > | WARNING: CPU: 3 PID: 143 at arch/arm64/kernel/stacktrace.c:223 arch_stack_walk+0x264/0x3b0 > | Modules linked in: > | CPU: 3 UID: 0 PID: 143 Comm: login Not tainted 6.12.0-rc2-00010-g0f0b9a3f6a50 #1 > | Hardware name: linux,dummy-virt (DT) > | pstate: 814000c5 (Nzcv daIF +PAN -UAO -TCO +DIT -SSBS BTYPE=--) > | pc : arch_stack_walk+0x264/0x3b0 > | lr : arch_stack_walk+0x1ec/0x3b0 > | sp : ffff80008060b970 > | x29: ffff80008060ba10 x28: fff00000051133c0 x27: 0000000000000000 > | x26: 0000000000000000 x25: 0000000000000000 x24: fff000007fe84000 > | x23: ffff9d1b3c940af0 x22: 0000000000000000 x21: fff00000051133c0 > | x20: ffff80008060ba50 x19: ffff9d1b3c9408e0 x18: 0000000000000014 > | x17: 000000006d50da47 x16: 000000008e3f265e x15: fff0000004e8bf40 > | x14: 0000ffffc5e50e48 x13: 000000000000000f x12: 0000ffffc5e50fed > | x11: 000000000000001f x10: 000018007f8bffff x9 : 0000000000000000 > | x8 : ffff80008060b9c0 x7 : ffff80008060bfd8 x6 : ffff80008060ba80 > | x5 : ffff80008060ba00 x4 : ffff80008060c000 x3 : ffff80008060bff0 > | x2 : 0000000000000018 x1 : ffff80008060bfd8 x0 : 0000000000000000 > | Call trace: > | arch_stack_walk+0x264/0x3b0 (P) > | arch_stack_walk+0x1ec/0x3b0 (L) > | stack_trace_save+0x50/0x80 > | metadata_update_state+0x98/0xa0 > | kfence_guarded_free+0xec/0x2c4 > | __kfence_free+0x50/0x100 > | kmem_cache_free+0x1a4/0x37c > | putname+0x9c/0xc0 > | do_execveat_common.isra.0+0xf0/0x1e4 > | __arm64_sys_execve+0x40/0x60 > | invoke_syscall+0x48/0x104 > | el0_svc_common.constprop.0+0x40/0xe0 > | do_el0_svc+0x1c/0x28 > | el0_svc+0x34/0xe0 > | el0t_64_sync_handler+0x120/0x12c > | el0t_64_sync+0x198/0x19c > > [...] Applied to arm64 (for-next/stacktrace), thanks! [1/1] arm64: preserve pt_regs::stackframe during exec*() https://git.kernel.org/arm64/c/f260c4426763 -- Catalin