# RE: \[PATCH\] vsprintf: Do not break early boot with probing addresses

- From: David Laight \<hidden\>
- Date: 2019-05-09 13:47:07 
- List: linuxppc-dev
- Page: https://ratatoskr.run/linuxppc-dev/2019/05/5592907
- Thread: https://ratatoskr.run/linux-arch/2019/05/5592853/t.md

```text
From: Michal Suchánek
> Sent: 09 May 2019 14:38
...
> > The problem is the combination of some new code called via printk(),
> > check_pointer() which calls probe_kernel_read(). That then calls
> > allow_user_access() (PPC_KUAP) and that uses mmu_has_feature() too early
> > (before we've patched features).
> 
> There is early_mmu_has_feature for this case. mmu_has_feature does not
> work before patching so parts of kernel that can run before patching
> must use the early_ variant which actually runs code reading the
> feature bitmap to determine the answer.

Does the early_ variant get patched so the it is reasonably
efficient after the 'patching' is done?
Or should there be a third version which gets patched across?

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)

```
