linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Segher Boessenkool <segher@kernel.crashing.org>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>,
	Marco Elver <elver@google.com>,
	LKML <linux-kernel@vger.kernel.org>,
	kasan-dev <kasan-dev@googlegroups.com>,
	Alexander Potapenko <glider@google.com>,
	Paul Mackerras <paulus@samba.org>,
	linuxppc-dev@lists.ozlabs.org, Dmitry Vyukov <dvyukov@google.com>
Subject: Re: [RFC PATCH v1] powerpc: Enable KFENCE for PPC32
Date: Tue, 2 Mar 2021 12:48:46 -0600	[thread overview]
Message-ID: <20210302184846.GI29191@gate.crashing.org> (raw)
In-Reply-To: <87h7ltss18.fsf@mpe.ellerman.id.au>

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


  reply	other threads:[~2021-03-02 22:07 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-02  8:37 [RFC PATCH v1] powerpc: Enable KFENCE for PPC32 Christophe Leroy
2021-03-02  8:58 ` Marco Elver
2021-03-02  9:05   ` Christophe Leroy
2021-03-02  9:21     ` Alexander Potapenko
2021-03-02  9:27       ` Christophe Leroy
2021-03-02  9:53         ` Marco Elver
2021-03-02 11:21           ` Christophe Leroy
2021-03-02 11:39             ` Marco Elver
2021-03-03 10:38               ` Christophe Leroy
2021-03-03 10:56                 ` Marco Elver
2021-03-04 11:23                   ` Christophe Leroy
2021-03-04 11:31                     ` Marco Elver
2021-03-04 11:48                       ` Christophe Leroy
2021-03-04 12:00                         ` Christophe Leroy
2021-03-04 12:02                           ` Marco Elver
2021-03-04 12:48                         ` Marco Elver
2021-03-04 14:08                           ` Christophe Leroy
2021-03-04 14:19                             ` Marco Elver
2021-03-05  5:01                           ` Michael Ellerman
2021-03-05  7:50                             ` Marco Elver
2021-03-05  8:23                               ` Christophe Leroy
2021-03-05  9:14                                 ` Marco Elver
2021-03-05 11:49                                   ` Michael Ellerman
2021-03-05 13:46                                     ` Marco Elver
2021-03-02 11:40             ` Michael Ellerman
2021-03-02 18:48               ` Segher Boessenkool [this message]
2021-03-03 10:28               ` Christophe Leroy
2021-03-03 10:31           ` Christophe Leroy
2021-03-03 10:39             ` Marco Elver
2021-03-03 10:56               ` Christophe Leroy
     [not found]             ` <CANpmjNMKEObjf=WyfDQB5vPmR5RuyUMBJyfr6P2ykCd67wyMbA__49537.1361424745$1614767987$gmane$org@mail.gmail.com>
2021-03-03 10:46               ` Andreas Schwab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210302184846.GI29191@gate.crashing.org \
    --to=segher@kernel.crashing.org \
    --cc=christophe.leroy@csgroup.eu \
    --cc=dvyukov@google.com \
    --cc=elver@google.com \
    --cc=glider@google.com \
    --cc=kasan-dev@googlegroups.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).