On Fri, 5 Jan 2024 07:51:09 +0100 Petr Tesařík <p...@tesarici.cz> wrote:
> Helo Richard, > > Am Fri, 5 Jan 2024 00:22:11 +0100 (CET) > schrieb Richard Weinberger <rich...@nod.at>: > > > ----- Ursprüngliche Mail ----- > > > Von: "Petr Tesarik" <petrtesa...@huaweicloud.com> > > > An: "richard" <rich...@nod.at>, "anton ivanov" > > > <anton.iva...@cambridgegreys.com>, "Johannes Berg" > > > <johan...@sipsolutions.net>, "linux-um" <linux-um@lists.infradead.org>, > > > "linux-kernel" <linux-ker...@vger.kernel.org> > > > CC: "Roberto Sassu" <roberto.sa...@huaweicloud.com>, p...@tesarici.cz, > > > "Petr Tesarik" > > > <petr.tesar...@huawei-partners.com> > > > Gesendet: Freitag, 15. Dezember 2023 13:14:29 > > > Betreff: [PATCH 0/2] um: improve UML page fault handling > > > > > From: Petr Tesarik <petr.tesar...@huawei-partners.com> > > > > > > Improve UML handling of segmentation faults in kernel mode. Although > > > such page faults are generally caused by a kernel bug, it is annoying > > > if they cause an infinite loop, or panic the kernel. More importantly, > > > a robust implementation allows to write KUnit tests for various guard > > > pages, preventing potential kernel self-protection regressions. > > > > > > Petr Tesarik (2): > > > um: do not panic on kernel mode faults > > > um: oops on accessing an non-present page in the vmalloc area > > > > I think this is a good thing to have. > > Thanks for the feedback. > > > For the implementation side, this needs to use the oops_* helpers > > from kernel/panic.c and taint the kernel, etc... > > Yes, I did see that coming but wanted to get some confirmation that > it's worth the effort. > > > See arch/x86/kernel/dumpstack.c die() and friends. > > This implementation also calls die notifiers, but AFAICS different > architectures are not very consistent in their use. Do you also > require die notifiers for the UML implementation? It seems I won't have time for this in the near future... Can I start by sending a trivial patch that panics the kernel if kernel mode tries to access a vmalloc guard page? That's something I can do immediately, and it's still better than getting page faults in an infinite loop... Petr T