[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+CK2bDkvgifEXh9voz5oYog-rDNm2GnqTZL=-5HndOFF2CJqg@mail.gmail.com>
Date: Tue, 20 Sep 2022 14:11:50 -0400
From: Pasha Tatashin <pasha.tatashin@...een.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Jonathan Corbet <corbet@....net>, linux-mm <linux-mm@...ck.org>,
Linux Doc Mailing List <linux-doc@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Rick Edgecombe <rick.p.edgecombe@...el.com>
Subject: Re: [PATCH 0/3] page table check default to warn instead of panic
On Mon, Sep 12, 2022 at 4:23 PM Andrew Morton <akpm@...ux-foundation.org> wrote:
>
> On Sun, 11 Sep 2022 09:59:20 +0000 Pasha Tatashin <pasha.tatashin@...een.com> wrote:
>
> > From: Pasha Tatashin <tatashin@...gle.com>
> >
> > Page table check when detects errors panics the kernel. Let instead,
> > print a warning, and panic only when specifically requested via kernel
> > parameter:
> >
> > page_table_check=panic
> >
> > The discussion about using panic vs. warn is here:
> > https://lore.kernel.org/linux-mm/20220902232732.12358-1-rick.p.edgecombe@intel.com
>
> The changelog doesn't actually describe the reason for making this
> change. Somebody obviously wants pagetable check errors to no longer
> panic the kernel, but why?? (The same can be said of the [2/3]
> changelog).
This came from the discussion listed above. There seems to be a
consensus that we should reduce the number of BUG_ON() in the kernel,
and replace them with WARN_ON_ONCE() when possible to recover. In the
case of page_table_check we can recover, but for some it may be unsafe
because of security implications. Therefore, I would like to keep an
option of being able to panic only because of page table check errors,
but not keeping it enabled by default.
I will add more info to the commit message.
>
> Also, should we be changing the default? People who like the panic
> will get a big surprise when they find out that they should have added
> a kernel parameter to get the old behaviour back. It would be less
> disruptive to default to panic unless page_table_check=warn was added.
I was thinking about this as well. I decided to change the default:
the old users will still get a warning, but going forward we will be
inline with the rest of the kernel: warn on by default, and optionally
panic.
>
> If there's a solid reason for changing the default, it should be
> changelogged. And if that reason is generally agreed to, perhaps the
> kernel should print a warning at boot if neither page_table_check=panic
> nor page_table_check=warn were provided. To tell people that the
> default has been changed.
I am not sure that is needed, and when do we remove that extra boot
message? This is a relatively new feature, and existing users would
still get an ugly warning about incorrect page table mappings.
Thank you,
Pasha
>
>
Powered by blists - more mailing lists