From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Xie Yuanbin <xieyuanbin1@huawei.com>
Cc: akpm@linux-foundation.org, arnd@arndb.de, brauner@kernel.org,
david.laight@runbox.com, hch@lst.de, jack@suse.com,
kuninori.morimoto.gx@renesas.com, liaohua4@huawei.com,
lilinjie8@huawei.com, linux-arm-kernel@lists.infradead.org,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, linux@armlinux.org.uk,
lorenzo.stoakes@oracle.com, marc.zyngier@arm.com,
nico@fluxnic.net, pangliyuan1@huawei.com, pfalcato@suse.de,
punitagrawal@gmail.com, rjw@rjwysocki.net,
rmk+kernel@armlinux.org.uk, rppt@kernel.org, tony@atomide.com,
vbabka@suse.cz, viro@zeniv.linux.org.uk,
wangkefeng.wang@huawei.com, will@kernel.org,
wozizhi@huaweicloud.com
Subject: Re: [RFC PATCH v2 1/2] ARM/mm/fault: always goto bad_area when handling with page faults of kernel address
Date: Fri, 28 Nov 2025 13:03:59 +0100 [thread overview]
Message-ID: <20251128120359.Xc09qn1W@linutronix.de> (raw)
In-Reply-To: <20251128022756.9973-1-xieyuanbin1@huawei.com>
On 2025-11-28 10:27:56 [+0800], Xie Yuanbin wrote:
> According to the discussion, it might be better to handle the kernel
> address fault directly, just like what x86 does, instead of finding VMA.
the kernel fault shouldn't have a VMA
> Link: https://elixir.bootlin.com/linux/v6.18-rc7/source/arch/x86/mm/fault.c#L1473
> ```c
> if (unlikely(fault_in_kernel_space(address)))
> do_kern_addr_fault(regs, error_code, address);
> else
> do_user_addr_fault(regs, error_code, address);
> ```
>
> It seems your patches hasn't been merged into the linux-next branch yet.
I hope Russell will add them once he gets to it. They got reviewed, I
added them to the patch system.
> This patch is based on linux-next, so it doesn't include your
> modifications. This patch might conflict with your patch:
> Link: https://lore.kernel.org/20251110145555.2555055-2-bigeasy@linutronix.de
> so I'd like to discuss it with you.
what about this:
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
index ad58c1e22a5f9..b6b3cd893c808 100644
--- a/arch/arm/mm/fault.c
+++ b/arch/arm/mm/fault.c
@@ -282,10 +282,10 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
}
/*
- * If we're in an interrupt or have no user
- * context, we must not take the fault..
+ * If we're in an interrupt or have no user context, we must not take
+ * the fault. Kernel addresses are handled in do_translation_fault().
*/
- if (faulthandler_disabled() || !mm)
+ if (faulthandler_disabled() || !mm || addr >= TASK_SIZE)
goto no_context;
if (user_mode(regs))
We shouldn't be getting here. Above TASK_SIZE there are just fix
mappings which don't fault and the VMALLOC array which should be handled
by do_translation_fault(). So this should be only the exception table.
This should also not clash with the previous patches. Would that work
for everyone?
> Thanks!
>
> Xie Yuanbin
Sebastian
next prev parent reply other threads:[~2025-11-28 12:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-27 14:01 Xie Yuanbin
2025-11-27 14:01 ` [RFC PATCH v2 2/2] ARM/mm/fault: Enable interrupts before sending signal Xie Yuanbin
2025-11-27 14:49 ` Sebastian Andrzej Siewior
2025-11-27 14:51 ` [RFC PATCH v2 1/2] ARM/mm/fault: always goto bad_area when handling with page faults of kernel address Sebastian Andrzej Siewior
2025-11-28 2:27 ` Xie Yuanbin
2025-11-28 12:03 ` Sebastian Andrzej Siewior [this message]
2025-11-28 17:01 ` Russell King (Oracle)
2025-11-28 17:22 ` Sebastian Andrzej Siewior
2025-11-28 17:34 ` Russell King (Oracle)
2025-11-30 11:20 ` Sebastian Andrzej Siewior
2025-11-29 2:33 ` Xie Yuanbin
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=20251128120359.Xc09qn1W@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=brauner@kernel.org \
--cc=david.laight@runbox.com \
--cc=hch@lst.de \
--cc=jack@suse.com \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=liaohua4@huawei.com \
--cc=lilinjie8@huawei.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux@armlinux.org.uk \
--cc=lorenzo.stoakes@oracle.com \
--cc=marc.zyngier@arm.com \
--cc=nico@fluxnic.net \
--cc=pangliyuan1@huawei.com \
--cc=pfalcato@suse.de \
--cc=punitagrawal@gmail.com \
--cc=rjw@rjwysocki.net \
--cc=rmk+kernel@armlinux.org.uk \
--cc=rppt@kernel.org \
--cc=tony@atomide.com \
--cc=vbabka@suse.cz \
--cc=viro@zeniv.linux.org.uk \
--cc=wangkefeng.wang@huawei.com \
--cc=will@kernel.org \
--cc=wozizhi@huaweicloud.com \
--cc=xieyuanbin1@huawei.com \
/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