Re: hunting memory corruption bug in 6.18.x
From: Rik van Riel
Date: Mon Oct 05 2026 - 07:32:05 EST
On Sun, 2026-10-04 at 20:40 +0200, Nikola Ciprich wrote:
> >
>
> crash> rd -64 0xffffb18905f60000 512
>
> ffffb18905f60430: 0000000000000000 0000000000000000
> ................
> ffffb18905f60440: 0fffffff0c930020 0000000000000000
> ...............
> ffffb18905f60450: 0fffffff0c930020 fffff86eb0c30000
> ...........n...
Two copies of the exact address you crashed on,
in a vmalloc area, presumably the dentry_hashtable?
Can you use vtop to check that the different occurrences
of the 0fffffff0c930020 address in the same vmalloc
area map to the pages you found in this crash dump?
>
> crash> rd -p 0x103360000 512
>
> 103360440: 0fffffff0c930020 0000000000000000
> ...............
> 103360450: 0fffffff0c930020 fffff86eb0c30000
> ...........n...
>
The same thing when reading the page directly.
So the invalid value the CPU reads is being read from
memory, and not hallucinated by the CPU.
> crash> search -p 0x0fffffff0c930020
> 103360440: fffffff0c930020
> 103360450: fffffff0c930020
> 114c32440: fffffff0c930020
> 114c32450: fffffff0c930020
> 1ae234400: fffffff0c930020
> 1ae234420: fffffff0c930020
> 1ae234430: fffffff0c930020
> 1ae234450: fffffff0c930020
> 24f0e2400: fffffff0c930020
> 24f0e2420: fffffff0c930020
> 24f0e2430: fffffff0c930020
> 24f0e2450: fffffff0c930020
> 342c40400: fffffff0c930020
> 342c40420: fffffff0c930020
> 342c40430: fffffff0c930020
> 342c40450: fffffff0c930020
> 77475b400: fffffff0c930020
> 77475b420: fffffff0c930020
> 77475b430: fffffff0c930020
> 77475b450: fffffff0c930020
> b2fabe400: fffffff0c930020
> b2fabe420: fffffff0c930020
> b2fabe430: fffffff0c930020
> b2fabe450: fffffff0c930020
> ea2d7c400: fffffff0c930020
> ea2d7c420: fffffff0c930020
> ea2d7c430: fffffff0c930020
> ea2d7c450: fffffff0c930020
> ef7a2d400: fffffff0c930020
> ef7a2d420: fffffff0c930020
> ef7a2d430: fffffff0c930020
> ef7a2d450: fffffff0c930020
> ef7a90400: fffffff0c930020
> ef7a90420: fffffff0c930020
> ef7a90430: fffffff0c930020
> ef7a90450: fffffff0c930020
> 10371fa400: fffffff0c930020
> 10371fa420: fffffff0c930020
> 10371fa430: fffffff0c930020
> 10371fa450: fffffff0c930020
These are not random offsets in the page,
either.
These all seem to be at offsets 0, 0x20,
0x30, 0x40, or 0x50 into the page.
If you look at the other addresses, are
there any that are not at one of these
offsets?
If this is a case of "system writes
fffffff0c930020 into one of 6 slots",
there could be some at offset 0x10
too.
I'm having AI comb the kernel now for
places where we could conceivably
construct this value, and write it
into one out of 6 slots.
>
--
All Rights Reversed.