Re: [PATCH] kfence: check kfence canary in panic and reboot
From: Marco Elver
Date: Sun Apr 24 2022 - 05:52:28 EST
On Sun, 24 Apr 2022 at 10:10, Shaobo Huang <huangshaobo6@xxxxxxxxxx> wrote:
> On Thu, 21 Apr 2022 15:28:45 +0200, Marco Elver <elver@xxxxxxxxxx> wrote:
> > On Thu, 21 Apr 2022 at 15:06, Alexander Potapenko <glider@xxxxxxxxxx> wrote:
> > [...]
> > > This report will denote that in a system that could have been running for days a particular skbuff was corrupted by some unknown task at some unknown point in time.
> > > How do we figure out what exactly caused this corruption?
> > >
> > > When we deploy KFENCE at scale, it is rarely possible for the kernel developer to get access to the host that reported the bug and try to reproduce it.
> > > With that in mind, the report (plus the kernel source) must contain all the necessary information to address the bug, otherwise reporting it will result in wasting the developer's time.
> > > Moreover, if we report such bugs too often, our tool loses the credit, which is hard to regain.
> > I second this - in particular we'll want this off in fuzzers etc.,
> > because it'll just generate reports that nobody can use to debug an
> > issue. I do see the value in this in potentially narrowing the cause
> > of a panic, but that information is likely not enough to fully
> > diagnose the root cause of the panic - it might however prompt to
> > re-run with KASAN, or check if memory DIMMs are faulty etc.
> > We can still have this feature, but I suggest to make it
> > off-by-default, and only enable via a boot param. I'd call it
> > 'kfence.check_on_panic'. For your setup, you can then use it to enable
> > where you see fit.
> Can I implement your suggestion into the second patch and add the "Suggested-by: Marco Elver <elver@xxxxxxxxxx>" tag to it?
I don't think it's necessary, after all the overall patch is still
your idea - you're just using our review feedback to improve it. In
the change-log (after ---) you can of course mention that, but it'll
be stripped upon applying.