Re: [PATCH v2] x86/kexec: Add EFI config table identity mapping for kexec kernel

Borislav Petkov
2023-07-17T14:14:33Z

On Mon, Jul 17, 2023 at 09:53:06PM +0800, Tao Liu wrote:
> ...snip...
> [ 21.360763] nvme0n1: p1 p2 p3
> [ 21.364207] igc 0000:03:00.0: PTM enabled, 4ns granularity
> [ 21.421097] pps pps1: new PPS source ptp1
> [ 21.425396] igc 0000:03:00.0 (unnamed net_device) (uninitialized): PHC added
> [ 21.457005] igc 0000:03:00.0: 4.000 Gb/s available PCIe bandwidth
> (5.0 GT/s PCIe x1 link)
> [ 21.465210] igc 0000:03:00.0 eth1: MAC: ...snip...
> [ 21.473424] igc 0000:03:00.0 enp3s0: renamed from eth1
> [ 21.479446] BUG: kernel NULL pointer dereference, address: 0000000000000008
> [ 21.486405] #PF: supervisor read access in kernel mode
> [ 21.491519] mmc1: Failed to initialize a non-removable card
> [ 21.491538] #PF: error_code(0x0000) - not-present page
> [ 21.502229] PGD 0 P4D 0
> [ 21.504773] Oops: 0000 [#1] PREEMPT SMP NOPTI
> [ 21.509133] CPU: 3 PID: 402 Comm: systemd-udevd Not tainted 6.5.0-rc1+ #1
> [ 21.515905] Hardware name: ...snip...
> [ 21.522851] RIP: 0010:kernfs_dop_revalidate+0x2b/0x120

So something's weird here - my patch should not cause a null ptr deref
here.

> [ 21.527995] Code: 1f 44 00 00 83 e6 40 0f 85 07 01 00 00 41 55 41
> 54 55 53 48 8b 47 30 48 89 fb 48 85 c0 0f 84 a2 00 00 00 48 8b a87

This looks weird too. There's no "<>" brackets denoting which byte it
was exactly where RIP pointed to when the NULL ptr happened.

Do

make fs/kernfs/dir.s

and upload dir.s and the dir.o file somewhere.

In any case, my patch shouldn't be causing this. At least I don't see
it.

I'm testing a better version of the patch and it should not cause this
thing even less.

> The stack trace may not be the same all the time, I didn't dive deep
> into the root cause, but it looks to me the patch will cause an
> unknown issue. Also I tested the patch on kernel-5.14.0-318.el9, it

This is the upstream kernel mailing list so those Frankenstein kernels
are all left to you.

Good luck. :-)

--
Regards/Gruss,
Boris.