Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1483616pxb; Thu, 4 Mar 2021 12:31:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJwqoJ2TIan09aNr5nOknYXJLklWaXMyRo0/YSSA6BxFjSvSDv7QOoE59FkEtiXGfwFaq00Y X-Received: by 2002:a17:906:2dda:: with SMTP id h26mr6226714eji.163.1614889882291; Thu, 04 Mar 2021 12:31:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614889882; cv=none; d=google.com; s=arc-20160816; b=XFzsTqLaHWGvzSKxoMPXCLWdA/5/Wsiwe/T3dcdBJ73bEEkg7SDU0l6ZJqIvxllGnB VVHdDBTe8VXkgpwaDsWGt/Ls3AphjS7w4R/KT42PhWh4cD1M76P39Cwkv5NMms86RRcJ jJypsnpkUteH/srkOHxhxmVJPGjzq/kYZD0jl8X5Ho11l9x0wM1BGeAL7QHayIQamuY9 +kcIC29VSKnhYsPLKtkuv6LTD/2x6hKte2BqGz6aB6/rYfhUirsxgu2E2DZHq5hikVgY J5VyikzTHayftFmqRe83StiiED0fT5x1K5tA1tWaAcIghNKvCy8KALl0hdVD1SHJXIEu IWjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=99KweLpG/QfykfBAngQAguKue4NK58+7FB6Rnl7Npng=; b=mlZc0axbQ+RwzAi7vyuLi3Zk5bUQT2/dQH7wqfDvtUR89gIS/1e+VbT7EdJr6DmpNo ziCPqEGpuKYHHI8fa5rWpz9yszO370NN8FcPPCpDGG2czBtiA9n7HEHOoxrNPLXaOgTQ Y/75PpsuVQh/IHmyxV7RS40C/UszZAYepDHwokh603GVvh0MizhEL7R+7Fc6wWy6toXC g8z5Q7jcYmrCu8uiXlnSzQG9K8LkjxXpKgBVALuQhmCqeyj0znTSAxNmXJoZYkpqvV5F R8/MYDnmyb+S0VPpb/+jaSoDgRqrDWdHs2sGSYqri/g1Bd+hq2VERX3yoRCkYgVP/3pC PUvw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s24si366795edy.266.2021.03.04.12.30.59; Thu, 04 Mar 2021 12:31:22 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1382573AbhCBVv1 (ORCPT + 99 others); Tue, 2 Mar 2021 16:51:27 -0500 Received: from gate.crashing.org ([63.228.1.57]:44578 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1581456AbhCBS5M (ORCPT ); Tue, 2 Mar 2021 13:57:12 -0500 Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 122ImlkH002242; Tue, 2 Mar 2021 12:48:48 -0600 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 122Imko8002241; Tue, 2 Mar 2021 12:48:46 -0600 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Tue, 2 Mar 2021 12:48:46 -0600 From: Segher Boessenkool To: Michael Ellerman Cc: Christophe Leroy , Marco Elver , LKML , kasan-dev , Alexander Potapenko , Paul Mackerras , linuxppc-dev@lists.ozlabs.org, Dmitry Vyukov Subject: Re: [RFC PATCH v1] powerpc: Enable KFENCE for PPC32 Message-ID: <20210302184846.GI29191@gate.crashing.org> References: <51c397a23631d8bb2e2a6515c63440d88bf74afd.1614674144.git.christophe.leroy@csgroup.eu> <08a96c5d-4ae7-03b4-208f-956226dee6bb@csgroup.eu> <87h7ltss18.fsf@mpe.ellerman.id.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87h7ltss18.fsf@mpe.ellerman.id.au> User-Agent: Mutt/1.4.2.3i Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 02, 2021 at 10:40:03PM +1100, Michael Ellerman wrote: > >> -- Change the unwinder, if it's possible for ppc32. > > > > I don't think it is possible. > > I think this actually is the solution. > > It seems the good architectures have all added support for > arch_stack_walk(), and we have not. I have no idea what arch_stack_walk does, but some background info: PowerPC functions that do save the LR (== the return address), and/or that set up a new stack frame, do not do this at the start of the function necessarily (it is a lot faster to postpone this, even if you always have to do it). So, in a leaf function it isn't always known if this has been done (in all callers further up it is always done, of course). If you have DWARF unwind info all is fine of course, but you do not have that in the kernel. > So I think it's probably on us to update to that new API. Or at least > update our save_stack_trace() to fabricate an entry using the NIP, as it > seems that's what callers expect. This sounds very expensive? If it is only a debug feature that won't be used in production that does not matter, but it worries me. Segher