All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikola Ciprich <nikola.ciprich@linuxbox.cz>
To: David Laight <david.laight.linux@gmail.com>
Cc: Borislav Petkov <bp@alien8.de>, Rik van Riel <riel@surriel.com>,
	ljs@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	akpm@linux-foundation.org, david@kernel.org,
	Mike Rapoport <rppt@kernel.org>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Pedro Falcato <pfalcato@suse.de>,
	Kiryl Shutsemau <kas@kernel.org>,
	luizcap@redhat.com, pbonzini@redhat.com,
	Tal Zussman <tz2294@columbia.edu>,
	Matt Fleming <matt@readmodwrite.com>,
	Nikola Ciprich <nikola.ciprich@linuxbox.cz>
Subject: Re: hunting memory corruption bug in 6.18.x
Date: Mon, 12 Oct 2026 13:43:30 +0200	[thread overview]
Message-ID: <aszH4vpXFAOQP1WG@pcnci.linuxbox.cz> (raw)
In-Reply-To: <20261009090042.39ba9c06@pumpkin>

Some more news.

In the meantime, we’ve had the same crash on another of our own
cluster nodes. This time it was booted with tlbi=ipi, so that
didn’t help either, exactly as Borislav said.

(Just a side note: it seems quite hard to check which TLB
invalidation mechanism is in use. There is no message in dmesg,
and invlpgb is deliberately not displayed in the /proc/cpuinfo flags,
so apart from measuring with perf, I simply have to trust that
the kernel parameter does what it should for my kernel release.)

So if I understand it correctly, we can now completely rule out
an AMD firmware bug, right?

Since I didn’t have anything else to try, and we started having
crashes on our own cluster nodes, where I can be a bit bolder,
I built 7.3-rc6, deployed it on two problematic AMD nodes, and
started a migration torture loop.

Over the weekend, there were ~70 migrations of ~160 VMs between
those two nodes without a single issue.

Today I upgraded both boxes to rc7 and started the migrations again.

I can’t be sure yet, but it really seems the problems are gone in 7.3.

The question is: what now? (I still think bisecting would be unreliable.)

For those interested, I’ve tidied up the shared files a little and
added some more content to https://storage.linuxbox.cz/index.php/s/6rcp8oWCGzAqPEY:

6.18.55-lb9.01 – 6.18.55 patched source, patches and binaries
yyyymmdd-xxxxx – collected crash data for various occurrences
kernel-6.18.x-problems.xlsx – problems overview

Maybe it will be of some help.

BR

nik


On Fri, Oct 09, 2026 at 09:00:42AM +0100, David Laight wrote:
> On Thu, 8 Oct 2026 11:23:56 -0700
> Borislav Petkov <bp@alien8.de> wrote:
> 
> > On Thu, Oct 08, 2026 at 02:29:36PM +0200, Nikola Ciprich wrote:
> > > [11402.940943] BUG: unable to handle page fault for address: ffffffff0c93001c
> > > [11402.942273] #PF: supervisor read access in kernel mode
> > > [11402.943629] #PF: error_code(0x0000) - not-present page
> > > [11402.945025] PGD 6d6f83a067 P4D 6d6f83b067 PUD 0
> > > [11402.946469] Oops: Oops: 0000 [#1] SMP NOPTI
> > > [11402.947950] CPU: 23 UID: 0 PID: 704950 Comm: servercare-moni Kdump: loaded Tainted: G            E       6.18.55lb9.01 #1 PREEMPT(voluntary)
> > > [11402.951254] Tainted: [E]=UNSIGNED_MODULE
> > > [11402.952913] Hardware name: ASUSTeK COMPUTER INC. RS720A-E12-RS12/K14PP-D24 Series, BIOS 1201 08/25/2023
> > > [11402.956569] RIP: 0010:__d_lookup_rcu+0x4d/0xe0
> > > [11402.958452] Code: 48 8d 04 c2 f6 07 02 0f 85 a0 00 00 00 48 8b 10 48 89 d0 48 83 e0 fe 48 83 fa 01 77 0d e9 80 00 00 00 48 8b 00 48 85 c0 74 78 <44> 8b 58 fc 48 39 78 10 75 ee 48 83 78 08  
> > 
> > What is that kernel?
> > 
> > 6.18.55lb9.01
> > 
> > The other machine has a 6.18.20lb9.03-something one.
> > 
> > How can I look at the vmlinux you're running and the sources?
> > 
> > rIP points to:
> > 
> > [11402.958452] Code: 48 8d 04 c2 f6 07 02 0f 85 a0 00 00 00 48 8b 10 48 89 d0 48 83 e0 fe 48 83 fa 01 77 0d e9 80 00 00 00 48 8b 00 48 85 c0 74 78 <44> 8b 58 fc 48 39 78 10 75 ee 48 83 78 08
> > All code
> > ========
> >    0:   48 8d 04 c2             lea    (%rdx,%rax,8),%rax
> >    4:   f6 07 02                testb  $0x2,(%rdi)
> >    7:   0f 85 a0 00 00 00       jne    0xad
> >    d:   48 8b 10                mov    (%rax),%rdx
> >   10:   48 89 d0                mov    %rdx,%rax
> >   13:   48 83 e0 fe             and    $0xfffffffffffffffe,%rax
> >   17:   48 83 fa 01             cmp    $0x1,%rdx
> >   1b:   77 0d                   ja     0x2a
> >   1d:   e9 80 00 00 00          jmp    0xa2
> 
> That looks like the same hlist loop top as in the other failure.
> IIRC the fault has the error address in both %rax and %rdx which
> means the invalid value cane from the top of the hash list, not
> from following the linked list.
> 
> >   22:   48 8b 00                mov    (%rax),%rax
> >   25:   48 85 c0                test   %rax,%rax
> >   28:   74 78                   je     0xa2
> >   2a:*  44 8b 58 fc             mov    -0x4(%rax),%r11d         <-- trapping instruction
> >   2e:   48 39 78 10             cmp    %rdi,0x10(%rax)
> 
> That is the hash compare instruction (that fails in the other function).
> Not sure why it reads offset -4 first though - the compiler will have
> reordered it from after a condition (just to slow the code down!).
> I'd guess there is a container_of() lurking.
> 
> David
> 
> >   32:   75 ee                   jne    0x22
> >   34:   48                      rex.W
> >   35:   83                      .byte 0x83
> >   36:   78 08                   js     0x40
> > 
> > I need to be able to pinpoint it back to the source.
> > 
> > I asked the last time:
> > 
> > "Just to rule out any other issues which got fixed in the meantime, can you try
> > mainline Linux and see if you can reproduce your observation with it?
> > 
> > If so, you could share your crash core along with debug kernels yadda yadda so
> > that I can poke at it.
> > 
> > And before you do, make sure you have the latest BIOS and microcode installed on
> > that machine.
> > 
> > Also, where can I find full dmesg and /proc/cpuinfo from those machines which
> > trigger this?"
> > 
> > But still nothing.
> > 
> > Imagine this issue has been fixed upstream but you don't have the fix in your
> > kernels and we're basically chasing the same thing again...
> > 
> > Sorry, but I have lost my debugging crystal ball which can help me guess what
> > the machine does. :\
> > 
> > > so we now know this didn't fixed it. however I didn't have tlbi=ipi set, so I'll
> > > now try this.  
> > 
> > That won't help either but if you wanna try it.
> > 
> > > any ideas on this new info?  
> > 
> > Yes, see above.
> > 
> > Bottomline is: without sufficient debugging data and up-to-date hardware,
> > there's not a lot I can do.
> > 
> > Thx.
> > 
> 

-- 
Ing. Nikola CIPRICH
technický ředitel

+420 591 166 214
+420 777 093 799
nikola.ciprich@linuxbox.cz

www.linuxbox.cz


  reply	other threads:[~2026-10-12 11:44 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-25  8:48 hunting memory corruption bug in 6.18.x Nikola Ciprich
2026-09-25 10:05 ` Lorenzo Stoakes (ARM)
2026-09-25 12:13 ` Lorenzo Stoakes (ARM)
2026-09-26  5:58   ` Nikola Ciprich
2026-09-26  9:32     ` Lorenzo Stoakes (ARM)
2026-09-28  9:05       ` Nikola Ciprich
2026-09-29 19:11         ` Nikola Ciprich
2026-09-30  9:07           ` Lorenzo Stoakes (ARM)
2026-09-30 18:40             ` Nikola Ciprich
2026-10-01 19:40               ` Nikola Ciprich
2026-10-01 22:21                 ` David Laight
2026-10-02  9:50                 ` Lorenzo Stoakes (ARM)
2026-10-02 14:55                   ` Nikola Ciprich
2026-10-02 19:27                     ` Lorenzo Stoakes (ARM)
2026-10-04 18:40                       ` Nikola Ciprich
2026-10-05 11:25                         ` Rik van Riel
2026-10-05 19:02                           ` Nikola Ciprich
     [not found]                           ` <20261005132113.43548696@pumpkin>
2026-10-05 19:25                             ` Nikola Ciprich
2026-10-08 12:29                               ` Nikola Ciprich
2026-10-08 18:23                                 ` Borislav Petkov
2026-10-08 20:48                                   ` Nikola Ciprich
2026-10-09  8:00                                   ` David Laight
2026-10-12 11:43                                     ` Nikola Ciprich [this message]
2026-10-02 22:02                     ` Borislav Petkov
2026-10-04 18:45                       ` Nikola Ciprich
2026-10-05 10:58                 ` Rik van Riel
2026-10-05 18:05                   ` Nikola Ciprich
2026-09-26 16:02 ` Luiz Capitulino
2026-09-28  8:47   ` Nikola Ciprich
2026-10-04 22:20 ` Rik van Riel
2026-10-05  9:31   ` Nikola Ciprich
2026-10-05  8:31 ` Lance Yang

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=aszH4vpXFAOQP1WG@pcnci.linuxbox.cz \
    --to=nikola.ciprich@linuxbox.cz \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=david.laight.linux@gmail.com \
    --cc=david@kernel.org \
    --cc=kas@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ljs@kernel.org \
    --cc=luizcap@redhat.com \
    --cc=matt@readmodwrite.com \
    --cc=pbonzini@redhat.com \
    --cc=pfalcato@suse.de \
    --cc=riel@surriel.com \
    --cc=rppt@kernel.org \
    --cc=tz2294@columbia.edu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.