lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKPOu+_tjkiU7mMC0mCwhH23BQ03o=QTgTH60TQ6=aC4fQr7LA@mail.gmail.com>
Date: Mon, 10 Feb 2025 18:41:05 +0100
From: Max Kellermann <max.kellermann@...os.com>
To: David Howells <dhowells@...hat.com>
Cc: netfs@...ts.linux.dev, LKML <linux-kernel@...r.kernel.org>, 
	linux-nfs@...r.kernel.org
Subject: Re: "netfs: Can't donate prior to front"

On Mon, Feb 10, 2025 at 3:08 PM David Howells <dhowells@...hat.com> wrote:
> Can you apply the attached patch to your kernel, and then run with:
>
>    echo 1 >/sys/kernel/debug/tracing/events/netfs/netfs_read/enable
>    echo 1 >/sys/kernel/debug/tracing/events/netfs/netfs_rreq/enable
>    echo 1 >/sys/kernel/debug/tracing/events/netfs/netfs_sreq/enable
>    echo 1 >/sys/kernel/debug/tracing/events/netfs/netfs_failure/enable
>    echo 1 >/sys/kernel/debug/tracing/events/netfs/netfs_donate/enable
>    echo 1 >/sys/kernel/debug/tracing/events/netfs/netfs_progress/enable
>
> enabled.  If you can capture the trace output (and compress it!), that should
> hopefully help debug this.

I needed some more tricks to be able to capture the trace of a
crashing kernel, but here it is (a minimal trace because I now figured
out how to reproduce the bug with a single command on a disabled
machine).

Additionally, here you have a file with a dump of *subreq and *req (of
R=8). I have added additional fields "start0" and "len0" which contain
the values initially set on these.

Kernel output just before the crash:

 3,1644,103679537,-;netfs: Can't donate prior to front
 4,1645,103679550,-;R=00000007[6] s=187000-1bffff 0/39000/39000
 4,1646,103679562,-;folio: 180000-1bffff
 4,1647,103679568,-;donated: prev=0 next=0
 4,1648,103679574,-;s=187000 av=39000 part=39000
 3,1649,103708094,-;netfs: Can't donate prior to front
 4,1650,103708105,-;R=00000008[7] s=1c6000-1fffff 0/3a000/3a000
 4,1651,103708117,-;folio: 1c0000-1fffff
 4,1652,103708123,-;donated: prev=0 next=0
 4,1653,103708129,-;s=1c6000 av=3a000 part=3a000

The trace file contains just the R=8 request, but I guess this one is
enough for you.

Max

View attachment "trace8.txt" of type "text/plain" (6737 bytes)

View attachment "gdb.txt" of type "text/plain" (5412 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ