Re: [GIT PULL] Block updates for 6.9-rc1

Johannes Weiner
2024-03-11T23:50:29Z

On Sun, Mar 10, 2024 at 02:30:57PM -0600, Jens Axboe wrote:
> Hi Linus,
>
> Here are the core block changes queued for the 6.9-rc1 kernel. This pull
> request contains:
>
> - MD pull requests via Song:
> - Cleanup redundant checks, by Yu Kuai.
> - Remove deprecated headers, by Marc Zyngier and Song Liu.
> - Concurrency fixes, by Li Lingfeng.
> - Memory leak fix, by Li Nan.
> - Refactor raid1 read_balance, by Yu Kuai and Paul Luse.
> - Clean up and fix for md_ioctl, by Li Nan.
> - Other small fixes, by Gui-Dong Han and Heming Zhao.
> - MD atomic limits (Christoph)

My desktop fails to decrypt /home on boot with this:

[ 12.152489] WARNING: CPU: 0 PID: 626 at block/blk-settings.c:192 blk_validate_limits+0x1da/0x1f0
[ 12.152493] Modules linked in: amdgpu drm_ttm_helper ttm drm_exec drm_suballoc_helper amdxcp drm_buddy gpu_sched drm_display_helper btusb btintel
[ 12.152498] CPU: 0 PID: 626 Comm: systemd-cryptse Not tainted 6.8.0-00855-gd08c407f715f #25 c6b9e287c2730f07982c9e0e4ed9225e8333a29f
[ 12.152499] Hardware name: Gigabyte Technology Co., Ltd. B650 AORUS PRO AX/B650 AORUS PRO AX, BIOS F20 12/14/2023
[ 12.152500] RIP: 0010:blk_validate_limits+0x1da/0x1f0
[ 12.152502] Code: ff 0f 00 00 0f 87 2d ff ff ff 0f 0b eb 02 0f 0b ba ea ff ff ff e9 7a ff ff ff 0f 0b eb f2 0f 0b eb ee 0f 0b eb ea 0f 0b eb e6 <0f> 0b eb e2 0f 0b eb de 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00
[ 12.152503] RSP: 0018:ffff9c41065b3b68 EFLAGS: 00010203
[ 12.152503] RAX: ffff9c41065b3bc0 RBX: ffff9c41065b3bc0 RCX: 00000000ffffffff
[ 12.152504] RDX: 0000000000000fff RSI: 0000000000000200 RDI: 0000000000000100
[ 12.152504] RBP: ffff8a11c0d28350 R08: 0000000000000100 R09: 0000000000000001
[ 12.152505] R10: 0000000000000000 R11: 0000000000000001 R12: ffff9c41065b3bc0
[ 12.152505] R13: ffff8a11c0d285c8 R14: ffff9c41065b3bc0 R15: ffff8a122eedc138
[ 12.152505] FS: 00007faa969214c0(0000) GS:ffff8a18dde00000(0000) knlGS:0000000000000000
[ 12.152506] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 12.152506] CR2: 00007f11d8a2a910 CR3: 00000001059d0000 CR4: 0000000000350ef0
[ 12.152507] Call Trace:
[ 12.152508] <TASK>
[ 12.152508] ? __warn+0x6f/0xd0
[ 12.152511] ? blk_validate_limits+0x1da/0x1f0
[ 12.152512] ? report_bug+0x147/0x190
[ 12.152514] ? handle_bug+0x36/0x70
[ 12.152516] ? exc_invalid_op+0x17/0x60
[ 12.152516] ? asm_exc_invalid_op+0x1a/0x20
[ 12.152519] ? blk_validate_limits+0x1da/0x1f0
[ 12.152520] queue_limits_set+0x27/0x130
[ 12.152521] dm_table_set_restrictions+0x1bb/0x440
[ 12.152525] dm_setup_md_queue+0x9a/0x1e0
[ 12.152527] table_load+0x251/0x400
[ 12.152528] ? dev_suspend+0x2d0/0x2d0
[ 12.152529] ctl_ioctl+0x305/0x5e0
[ 12.152531] dm_ctl_ioctl+0x9/0x10
[ 12.152532] __x64_sys_ioctl+0x89/0xb0
[ 12.152534] do_syscall_64+0x7f/0x160
[ 12.152536] ? syscall_exit_to_user_mode+0x6b/0x1a0
[ 12.152537] ? do_syscall_64+0x8b/0x160
[ 12.152538] ? do_syscall_64+0x8b/0x160
[ 12.152538] ? do_syscall_64+0x8b/0x160
[ 12.152539] ? do_syscall_64+0x8b/0x160
[ 12.152540] ? irq_exit_rcu+0x4a/0xb0
[ 12.152541] entry_SYSCALL_64_after_hwframe+0x46/0x4e
[ 12.152542] RIP: 0033:0x7faa9632319b
[ 12.152543] Code: 00 48 89 44 24 18 31 c0 c7 04 24 10 00 00 00 48 8d 44 24 60 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
[ 12.152543] RSP: 002b:00007ffd8ac496d0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[ 12.152544] RAX: ffffffffffffffda RBX: 0000564061a630c0 RCX: 00007faa9632319b
[ 12.152544] RDX: 0000564061a630c0 RSI: 00000000c138fd09 RDI: 0000000000000004
[ 12.152545] RBP: 00007ffd8ac498d0 R08: 0000000000000007 R09: 0000000000000006
[ 12.152545] R10: 0000000000000007 R11: 0000000000000246 R12: 00005640619fcbd0
[ 12.152545] R13: 0000000000000003 R14: 0000564061a63170 R15: 00007faa95ea4b2f
[ 12.152546] </TASK>
[ 12.152546] ---[ end trace 0000000000000000 ]---
[ 12.152547] device-mapper: ioctl: unable to set up device queue for new table.

Reverting 8e0ef4128694 ("dm: use queue_limits_set") makes it work.

Happy to provide more debugging info and/or test patches!