[PATCH 0/2] um: improve UML page fault handling

Petr Tesařík petr at tesarici.cz
Fri Jan 26 01:55:05 PST 2024


On Fri, 5 Jan 2024 07:51:09 +0100
Petr Tesařík <petr at tesarici.cz> wrote:

> Helo Richard,
> 
> Am Fri, 5 Jan 2024 00:22:11 +0100 (CET)
> schrieb Richard Weinberger <richard at nod.at>:
> 
> > ----- Ursprüngliche Mail -----  
> > > Von: "Petr Tesarik" <petrtesarik at huaweicloud.com>
> > > An: "richard" <richard at nod.at>, "anton ivanov" <anton.ivanov at cambridgegreys.com>, "Johannes Berg"
> > > <johannes at sipsolutions.net>, "linux-um" <linux-um at lists.infradead.org>, "linux-kernel" <linux-kernel at vger.kernel.org>
> > > CC: "Roberto Sassu" <roberto.sassu at huaweicloud.com>, petr at tesarici.cz, "Petr Tesarik"
> > > <petr.tesarik1 at 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.tesarik1 at 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



More information about the linux-um mailing list