On Wed, Feb 28, 2024 at 01:22:12PM +0100, Harald Dunkel wrote: > Hi folks, > > not sure if this was supposed to happen: > > [1400821.811585] ------------[ cut here ]------------ > [1400821.811594] WARNING: CPU: 0 PID: 614303 at block/blk-lib.c:50 __blkdev_issue_discard+0x14b/0x180 > [1400821.811612] Modules linked in: cdc_mbim cdc_wdm tcp_diag udp_diag inet_diag exfat snd_seq_dummy snd_hrtimer snd_seq_midi snd_seq_midi_event snd_seq cpufreq_userspace cpufreq_conservative cpufreq_powersave cpufreq_ondemand cts rpcsec_gss_krb5 nfsv4 dns_resolver nfs lockd grace fscache netfs scsi_transport_iscsi nvme_fabrics dell_rbu rfkill qrtr dcdbas uinput binfmt_misc nls_ascii nls_cp437 vfat fat nvidia_drm(POE) nvidia_modeset(POE) intel_rapl_msr intel_rapl_common x86_pkg_temp_thermal snd_hda_codec_realtek intel_powerclamp xt_recent snd_hda_codec_generic ledtrig_audio coretemp snd_sof_pci_intel_tgl snd_sof_intel_hda_common soundwire_intel soundwire_generic_allocation soundwire_cadence snd_sof_intel_hda snd_sof_pci snd_sof_xtensa_dsp snd_sof snd_sof_utils snd_soc_hdac_hda snd_hda_codec_hdmi snd_hda_ext_core snd_soc_acpi_intel_match snd_soc_acpi snd_soc_core snd_compress soundwire_bus snd_hda_intel snd_usb_audio snd_intel_dspcfg br_netfilter snd_intel_sdw_acpi kvm_intel overlay > [1400821.811692] snd_usbmidi_lib i915 xt_comment snd_hda_codec uvcvideo xt_CHECKSUM snd_rawmidi snd_hda_core videobuf2_vmalloc kvm drm_buddy snd_seq_device nf_tables snd_hwdep videobuf2_memops drm_display_helper videobuf2_v4l2 nfnetlink snd_pcm_oss irqbypass videobuf2_common bridge snd_mixer_oss cec 8021q videodev rapl garp rc_core intel_cstate mei_hdcp nvidia(POE) snd_pcm evdev stp mc wmi_bmof gigabyte_wmi mrp intel_uncore ttm iTCO_wdt llc snd_timer intel_pmc_bxt bonding pcspkr drm_kms_helper macvlan snd iTCO_vendor_support intel_hid tls watchdog soundcore veth i2c_algo_bit sg sparse_keymap acpi_pad intel_pmc_core acpi_tad button mei_me mei iptable_nat iptable_mangle iptable_filter ip6table_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 auth_rpcgss ip6table_mangle ip6table_filter ip6_tables drm fuse loop efi_pstore sunrpc configfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 btrfs blake2b_generic zstd_compress efivarfs raid10 raid456 async_raid6_recov async_memcpy async_pq > [1400821.811799] async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid0 multipath linear hid_logitech_hidpp hid_logitech_dj uas usb_storage hid_generic usbhid hid cdc_ncm cdc_ether usbnet raid1 md_mod r8152 mii sd_mod dm_mod crc32_pclmul crc32c_intel ghash_clmulni_intel sha512_ssse3 sha512_generic sha256_ssse3 sha1_ssse3 nvme nvme_core ahci xhci_pci t10_pi libahci crc64_rocksoft_generic xhci_hcd libata aesni_intel r8169 realtek crc64_rocksoft crc_t10dif mdio_devres usbcore scsi_mod crypto_simd libphy cryptd crct10dif_generic intel_lpss_pci i2c_i801 crct10dif_pclmul crc64 crct10dif_common intel_lpss i2c_smbus idma64 usb_common scsi_common fan video wmi pinctrl_alderlake > [1400821.811868] CPU: 0 PID: 614303 Comm: blkdiscard Tainted: P OE 6.1.0-18-amd64 #1 Debian 6.1.76-1 > [1400821.811875] Hardware name: Gigabyte Technology Co., Ltd. Z790 GAMING X/Z790 GAMING X, BIOS F9b 11/10/2023 > [1400821.811878] RIP: 0010:__blkdev_issue_discard+0x14b/0x180 > [1400821.811887] Code: 48 39 d8 75 8b f7 da 89 d3 c1 eb 09 eb 85 48 8b 04 24 4c 89 20 48 83 c4 08 31 c0 5b 5d 41 5c 41 5d 41 5e 41 5f c3 cc cc cc cc <0f> 0b 48 c7 c6 80 fd 0a a9 48 c7 c7 40 2c b9 a9 e8 60 45 4f 00 85 > [1400821.811891] RSP: 0018:ffffb3d7a50d7d50 EFLAGS: 00010246 > [1400821.811896] RAX: ffff9fb0cb248750 RBX: ffff9fbb794612c0 RCX: ffff9fb60167be80 > [1400821.811899] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff9fbb794612c0 > [1400821.811902] RBP: 0000000000000cc0 R08: ffffb3d7a50d7d90 R09: fffff5f4d6f7efc0 > [1400821.811904] R10: 000000000ee778ff R11: 0000000000000000 R12: 0000000000000000 > [1400821.811907] R13: 00000000773bc800 R14: 000000ee77900000 R15: ffff9fbb794612c0 > [1400821.811910] FS: 00007f2af0e95740(0000) GS:ffff9fbb7f200000(0000) knlGS:0000000000000000 > [1400821.811914] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > [1400821.811917] CR2: 00007ffc65eec170 CR3: 00000002dcf78000 CR4: 0000000000750ef0 > [1400821.811920] PKRU: 55555554 > [1400821.811923] Call Trace: > [1400821.811926] <TASK> > [1400821.811931] ? __warn+0x7d/0xc0 > [1400821.811938] ? __blkdev_issue_discard+0x14b/0x180 > [1400821.811945] ? report_bug+0xe2/0x150 > [1400821.811955] ? handle_bug+0x41/0x70 > [1400821.811959] ? exc_invalid_op+0x13/0x60 > [1400821.811963] ? asm_exc_invalid_op+0x16/0x20 > [1400821.811974] ? __blkdev_issue_discard+0x14b/0x180 > [1400821.811982] blkdev_issue_discard+0x7e/0xe0 > [1400821.811990] blkdev_common_ioctl+0x61f/0xa30 > [1400821.811999] blkdev_ioctl+0x104/0x270 > [1400821.812006] __x64_sys_ioctl+0x8d/0xd0 > [1400821.812013] do_syscall_64+0x58/0xc0 > [1400821.812017] ? do_user_addr_fault+0x1b0/0x580 > [1400821.812023] ? exit_to_user_mode_prepare+0x40/0x1e0 > [1400821.812030] entry_SYSCALL_64_after_hwframe+0x64/0xce > [1400821.812038] RIP: 0033:0x7f2af0f95c5b > [1400821.812042] Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 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 > [1400821.812046] RSP: 002b:00007ffc65ecec40 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 > [1400821.812051] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f2af0f95c5b > [1400821.812054] RDX: 00007ffc65eced00 RSI: 0000000000001277 RDI: 0000000000000003 > [1400821.812056] RBP: 0000000000000000 R08: 0000000000000007 R09: 0000563c2300a2f0 > [1400821.812058] R10: 00007ffc65eec170 R11: 0000000000000246 R12: 000000ee77900000 > [1400821.812061] R13: 0000000000000003 R14: 0000563c2300a2f0 R15: 0000000000000000 > [1400821.812065] </TASK> > [1400821.812067] ---[ end trace 0000000000000000 ]--- > > I tried a discard on a Samsung PM981 1TB SSD (m.2) using a JMicron USB adaptor. > > udev rule: > > ACTION=="add|change", ATTRS{idVendor}=="152d", ATTRS{idProduct}=="0583", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap" > > Probably I was too optimistic. Notice that the USB layer does not show up at all in the stack dump above, but the block layer figures prominently. This strongly suggests that the bug lies in the block layer. CC'ing the appropriate mailing list and maintainer. Alan Stern