All of lore.kernel.org
 help / color / mirror / Atom feed
From: Keith Busch <kbusch@kernel.org>
To: Matthew Wilcox <willy@infradead.org>
Cc: Keith Busch <kbusch@meta.com>,
	hch@lst.de, linux-nvme@lists.infradead.org,
	linux-block@vger.kernel.org, axboe@kernel.dk
Subject: Re: [PATCHv5 1/2] block: accumulate memory segment gaps per bio
Date: Mon, 10 Nov 2025 23:50:51 -0500	[thread overview]
Message-ID: <aRLAqyRBY6k4pT2M@kbusch-mbp> (raw)
In-Reply-To: <aRK67ahJn15u5OGC@casper.infradead.org>

On Tue, Nov 11, 2025 at 04:26:21AM +0000, Matthew Wilcox wrote:
> On Tue, Oct 14, 2025 at 08:04:55AM -0700, Keith Busch wrote:
> > device's virtual boundary, but the code had been depending on that queue
> > limit to know ahead of time if the request is guaranteed to align to
> > that optimization.
> > 
> > Rather than rely on that queue limit, which many devices may not report,
> > save the lowest set bit of any boundary gap between each segment in the
> > bio while checking the segments. The request stores the value for
> > merging and quickly checking per io if the request can use iova
> > optimizations.
> 
> Hi Keith,
> 
> I just hit this bug:

...
 
> RIP: 0010:bio_get_last_bvec+0x20/0xe0
> Code: 90 90 90 90 90 90 90 90 90 90 55 49 89 f2 48 89 f9 48 89 e5 53 8b 77 2c 8b 47 30 44 8b 4f 28 49 89 f0 49 c1 e0 04 4c 03 47 50 <41> 8b 78 08 41 8b 58 0c 4d 8b 18 29 c7 44 39 cf 4d 89 1a 41 0f 47
> RSP: 0018:ffff88814d1ef8d8 EFLAGS: 00010246
> RAX: 0000000000000000 RBX: ffff8881044b5500 RCX: ffff88811fd23d78
> RDX: ffff88811fd235f8 RSI: 0000000000000000 RDI: ffff88811fd23d78
> RBP: ffff88814d1ef8e0 R08: 0000000000000000 R09: 0000000000020000
> R10: ffff88814d1ef8f0 R11: 0000000000000200 R12: 0000000000000000
> R13: ffff88811fd235f8 R14: 0000000000000000 R15: ffff8881044b5500
> FS:  0000000000000000(0000) GS:ffff8881f6ac9000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000000000000008 CR3: 000000000263a000 CR4: 0000000000750eb0
> PKRU: 55555554
> Kernel panic - not syncing: Fatal exception
> Kernel Offset: disabled
> ---[ end Kernel panic - not syncing: Fatal exception ]---
> 
> I'm not saying it's definitely your patch; after all, there's 17 of
> my slab patches on top of next-20251110, but when I looked on lore for
> 'bio_get_last_bvec' this was the only patch since 2021 that mentioned it,
> so I thought I'd drop you a note in case you see the bug immediately.
> I'm heading to bed, and will be out tomorrow, so my opportunities to be
> helpful will be limited.

Thanks for the heads up. This is in the path I'd been modifying lately,
so sounds plausible that I introduced the bug. The information here
should be enough for me to make progress: it looks like req->bio is NULL
in your trace, which I did not expect would happen. But it's late here
too, so look with fresh eyes in the morning.

  reply	other threads:[~2025-11-11  4:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-14 15:04 [PATCHv5 0/2] block, nvme: removing virtual boundary mask reliance Keith Busch
2025-10-14 15:04 ` [PATCHv5 1/2] block: accumulate memory segment gaps per bio Keith Busch
2025-10-14 21:18   ` Martin K. Petersen
2025-10-15  4:08   ` Christoph Hellwig
2025-11-11  4:26   ` Matthew Wilcox
2025-11-11  4:50     ` Keith Busch [this message]
2025-11-11  7:14       ` Christoph Hellwig
2025-11-11  9:36         ` Yu Kuai
2025-11-11  9:39           ` Christoph Hellwig
2025-11-11 10:14             ` Yu Kuai
2025-11-11 13:25               ` Keith Busch
2025-11-11 13:40                 ` Christoph Hellwig
2025-11-11 13:54                   ` Keith Busch
2025-11-11 13:58                     ` Christoph Hellwig
2025-11-11 14:03                     ` Yu Kuai
2025-10-14 15:04 ` [PATCHv5 2/2] nvme: remove virtual boundary for sgl capable devices Keith Busch
2025-10-14 21:19   ` Martin K. Petersen
2025-11-07  1:03 ` [PATCHv5 0/2] block, nvme: removing virtual boundary mask reliance Keith Busch
2025-11-07  1:12   ` Jens Axboe
2025-11-07  1:12 ` Jens Axboe

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=aRLAqyRBY6k4pT2M@kbusch-mbp \
    --to=kbusch@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=kbusch@meta.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=willy@infradead.org \
    /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.