Skip to content

losetup /dev/loopX int overflow for large X #903

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
frostschutz opened this issue Nov 27, 2019 · 6 comments
Closed

losetup /dev/loopX int overflow for large X #903

frostschutz opened this issue Nov 27, 2019 · 6 comments
Labels
NEEDINFO Need more information from reporter

Comments

@frostschutz
Copy link

This might be exclusively a kernel bug, or losetup, or both, not sure. I report it here because losetup is the trigger.

Out of curiosity I tried to experimentally determine what the largest /dev/loop# number might be.

# losetup /dev/loop1048576 somefile

This actually seem to try to create /dev/loop0 instead, and if already exists:

kobject_add_internal failed for 7:0 with -EEXIST, don't try to register things with the same name in the same directory.
kobject_add_internal failed for integrity (error: -2 parent: loop1048576)

Same thing happens when trying to create /dev/loop1048575 and /dev/loop2097151, and it's not possible to remove /dev/loop1048575 afterwards.

# losetup
/dev/loop1048575 [...]
# losetup -D
losetup: /dev/loop1048575: detach failed: No such device or address.

See also: full dmesg.txt

@karelzak karelzak added the NEEDINFO Need more information from reporter label Dec 3, 2019
@karelzak
Copy link
Collaborator

karelzak commented Dec 3, 2019

It works for me (version 2.33.2 as well as the current upstream tree) on kernel 5.4.0-0.rc8.git0.2.fc32.x86_64:

# losetup /dev/loop1048576 somefile
# losetup
NAME             SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                                     DIO LOG-SEC
/dev/loop1048576         0      0         0  0 /home/projects/util-linux/util-linux/somefile   0     512
# losetup -D

Please, try "LOOPDEV_DEBUG=all losetup /dev/loop1048576 somefile" to get more details.

Anyway, the dmesg output seems like a kernel problem.

@frostschutz
Copy link
Author

Setup:

[root@KVM-NEU ~]# uname -a
Linux KVM-NEU 5.4.1-arch1-1 #1 SMP PREEMPT Fri, 29 Nov 2019 13:37:24 +0000 x86_64 GNU/Linux
[root@KVM-NEU ~]# truncate -s 1M somefile
[root@KVM-NEU ~]# export LOOPDEV_DEBUG=all
[root@KVM-NEU ~]# losetup /dev/loop0 somefile
432: loopdev:      CXT: [0x7ffc52078140]: initialize context
432: loopdev:      CXT: [0x7ffc52078140]: init: ignore ioctls
432: loopdev:      CXT: [0x7ffc52078140]: init: loop-control detected 
432: loopdev:      CXT: [0x7ffc52078140]: /dev/loop0 name assigned
432: loopdev:      CXT: [0x7ffc52078140]: add_device 0
432: loopdev:      CXT: [0x7ffc52078140]: add_device done [rc=-1]
432: loopdev:      CXT: [0x7ffc52078140]: set backing file=/root/somefile
432: loopdev:    SETUP: [0x7ffc52078140]: device setup requested
432: loopdev:    SETUP: [0x7ffc52078140]: backing file open: OK
432: loopdev:      CXT: [0x7ffc52078140]: open /dev/loop0 [rw]: Success
432: loopdev:    SETUP: [0x7ffc52078140]: device open: OK
432: loopdev:    SETUP: [0x7ffc52078140]: LOOP_SET_FD: OK
432: loopdev:    SETUP: [0x7ffc52078140]: LOOP_SET_STATUS64: OK
432: loopdev:    SETUP: [0x7ffc52078140]: success [rc=0]
432: loopdev:      CXT: [0x7ffc52078140]: de-initialize
432: loopdev:      CXT: [0x7ffc52078140]: closing old open fd
432: loopdev:     ITER: [0x7ffc520782d0]: de-initialize
[root@KVM-NEU ~]# losetup /dev/loop1048576 somefile
444: loopdev:      CXT: [0x7ffd08568400]: initialize context
444: loopdev:      CXT: [0x7ffd08568400]: init: ignore ioctls
444: loopdev:      CXT: [0x7ffd08568400]: init: loop-control detected 
444: loopdev:      CXT: [0x7ffd08568400]: /dev/loop1048576 name assigned
444: loopdev:      CXT: [0x7ffd08568400]: add_device 1048576
444: loopdev:      CXT: [0x7ffd08568400]: add_device done [rc=1048576]
444: loopdev:      CXT: [0x7ffd08568400]: set backing file=/root/somefile
444: loopdev:    SETUP: [0x7ffd08568400]: device setup requested
444: loopdev:    SETUP: [0x7ffd08568400]: backing file open: OK
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
444: loopdev:    SETUP: [0x7ffd08568400]: failed [rc=-2]
444: loopdev:      CXT: [0x7ffd08568400]: open /dev/loop1048576 [rw]: No such file or directory
losetup: /dev/loop1048576: failed to set up loop device: No such file or directory
444: loopdev:      CXT: [0x7ffd08568400]: de-initialize
444: loopdev:     ITER: [0x7ffd08568590]: de-initialize

Setup dmesg:

[  112.660308] sysfs: cannot create duplicate filename '/devices/virtual/bdi/7:0'
[  112.660325] CPU: 0 PID: 444 Comm: losetup Not tainted 5.4.1-arch1-1 #1
[  112.660326] Hardware name: netcup KVM Server, BIOS VPS 200 G8 12/02/2019
[  112.660332] Call Trace:
[  112.660426]  dump_stack+0x66/0x90
[  112.660447]  sysfs_warn_dup.cold+0x17/0x2d
[  112.660456]  sysfs_create_dir_ns+0xc6/0xe0
[  112.660459]  kobject_add_internal+0xab/0x290
[  112.660465]  kobject_add+0x98/0xd0
[  112.660480]  ? preempt_count_add+0x68/0xa0
[  112.660495]  device_add+0x123/0x6b0
[  112.660504]  device_create_groups_vargs+0xd3/0xf0
[  112.660506]  device_create_vargs+0x12/0x20
[  112.660517]  bdi_register_va.part.0+0x23/0x200
[  112.660526]  bdi_register+0x79/0x80
[  112.660528]  bdi_register_owner+0x2c/0x60
[  112.660540]  __device_add_disk+0x440/0x4b0
[  112.660575]  loop_add+0x1e4/0x250 [loop]
[  112.660580]  loop_control_ioctl+0xa7/0x140 [loop]
[  112.660592]  do_vfs_ioctl+0x43d/0x6c0
[  112.660614]  ? syscall_trace_enter+0x19c/0x2e0
[  112.660616]  ksys_ioctl+0x5e/0x90
[  112.660618]  __x64_sys_ioctl+0x16/0x20
[  112.660620]  do_syscall_64+0x4e/0x140
[  112.660634]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  112.660650] RIP: 0033:0x7f9b251ea25b
[  112.660656] Code: 0f 1e fa 48 8b 05 25 9c 0c 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d f5 9b 0c 00 f7 d8 64 89 01 48
[  112.660657] RSP: 002b:00007ffd08568338 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[  112.660659] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f9b251ea25b
[  112.660659] RDX: 0000000000100000 RSI: 0000000000004c80 RDI: 0000000000000003
[  112.660660] RBP: 00007ffd08568400 R08: 000000000000000a R09: 0000000000000012
[  112.660661] R10: 00007ffd08565b31 R11: 0000000000000246 R12: 0000000000000003
[  112.660661] R13: 00007ffd08568344 R14: 000055a4a27d4020 R15: 00007ffd08568400
[  112.660664] kobject_add_internal failed for 7:0 with -EEXIST, don't try to register things with the same name in the same directory.
[  112.660714] ------------[ cut here ]------------
[  112.660730] WARNING: CPU: 0 PID: 444 at block/genhd.c:741 __device_add_disk+0x4a2/0x4b0
[  112.660732] Modules linked in: loop cfg80211 rfkill 8021q garp mrp stp llc cirrus drm_kms_helper drm psmouse joydev input_leds mousedev intel_agp pcspkr i6300esb syscopyarea intel_gtt sysfillrect evdev sysimgblt agpgart qemu_fw_cfg mac_hid fb_sys_fops i2c_piix4 ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 dm_crypt dm_mod hid_generic usbhid hid sd_mod sr_mod cdrom ata_generic pata_acpi virtio_balloon virtio_scsi virtio_console ata_piix serio_raw atkbd libps2 libata crct10dif_pclmul crc32_pclmul uhci_hcd crc32c_intel ehci_pci ghash_clmulni_intel scsi_mod virtio_pci ehci_hcd floppy i8042 serio virtio_net net_failover failover aesni_intel crypto_simd cryptd glue_helper
[  112.660787] CPU: 0 PID: 444 Comm: losetup Not tainted 5.4.1-arch1-1 #1
[  112.660787] Hardware name: netcup KVM Server, BIOS VPS 200 G8 12/02/2019
[  112.660789] RIP: 0010:__device_add_disk+0x4a2/0x4b0
[  112.660791] Code: 74 da fe ff e9 ee fd ff ff 80 a5 ac 00 00 00 ef e9 da fd ff ff 0f 0b e9 d3 fd ff ff 0f 0b e9 e8 fd ff ff 0f 0b e9 9c fc ff ff <0f> 0b eb 9e e8 25 d8 c6 ff 0f 1f 44 00 00 0f 1f 44 00 00 b9 01 00
[  112.660791] RSP: 0018:ffffb35240293db0 EFLAGS: 00010282
[  112.660793] RAX: 00000000ffffffef RBX: 0000000000000001 RCX: 0000000000000000
[  112.660793] RDX: ffffb35240293d30 RSI: ffff9feebda2f040 RDI: 000000000002f040
[  112.660794] RBP: ffff9feebb5e4000 R08: 0000000000000233 R09: 0000000000000001
[  112.660795] R10: 0000000000000286 R11: 0000000000000001 R12: ffff9feebb5e4070
[  112.660795] R13: ffff9feebb5e400c R14: 0000000000000000 R15: 0000000000000000
[  112.660797] FS:  00007f9b250f1740(0000) GS:ffff9feebda00000(0000) knlGS:0000000000000000
[  112.660797] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  112.660798] CR2: 00007f9b251da4e0 CR3: 000000007b6b2004 CR4: 00000000000606f0
[  112.660801] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  112.660801] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  112.660802] Call Trace:
[  112.660806]  loop_add+0x1e4/0x250 [loop]
[  112.660808]  loop_control_ioctl+0xa7/0x140 [loop]
[  112.660810]  do_vfs_ioctl+0x43d/0x6c0
[  112.660812]  ? syscall_trace_enter+0x19c/0x2e0
[  112.660813]  ksys_ioctl+0x5e/0x90
[  112.660815]  __x64_sys_ioctl+0x16/0x20
[  112.660816]  do_syscall_64+0x4e/0x140
[  112.660818]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  112.660819] RIP: 0033:0x7f9b251ea25b
[  112.660820] Code: 0f 1e fa 48 8b 05 25 9c 0c 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d f5 9b 0c 00 f7 d8 64 89 01 48
[  112.660821] RSP: 002b:00007ffd08568338 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[  112.660821] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f9b251ea25b
[  112.660822] RDX: 0000000000100000 RSI: 0000000000004c80 RDI: 0000000000000003
[  112.660823] RBP: 00007ffd08568400 R08: 000000000000000a R09: 0000000000000012
[  112.660823] R10: 00007ffd08565b31 R11: 0000000000000246 R12: 0000000000000003
[  112.660824] R13: 00007ffd08568344 R14: 000055a4a27d4020 R15: 00007ffd08568400
[  112.660826] ---[ end trace 1f3c07c7bf2ac599 ]---
[  112.660971] sysfs: cannot create duplicate filename '/dev/block/7:0'
[  112.660973] CPU: 0 PID: 444 Comm: losetup Tainted: G        W         5.4.1-arch1-1 #1
[  112.660974] Hardware name: netcup KVM Server, BIOS VPS 200 G8 12/02/2019
[  112.660974] Call Trace:
[  112.660978]  dump_stack+0x66/0x90
[  112.660980]  sysfs_warn_dup.cold+0x17/0x2d
[  112.660982]  sysfs_do_create_link_sd.isra.0+0xbe/0xd0
[  112.660985]  device_add+0x5ff/0x6b0
[  112.660988]  __device_add_disk+0x14d/0x4b0
[  112.660991]  loop_add+0x1e4/0x250 [loop]
[  112.660994]  loop_control_ioctl+0xa7/0x140 [loop]
[  112.660996]  do_vfs_ioctl+0x43d/0x6c0
[  112.661000]  ? syscall_trace_enter+0x19c/0x2e0
[  112.661002]  ksys_ioctl+0x5e/0x90
[  112.661004]  __x64_sys_ioctl+0x16/0x20
[  112.661007]  do_syscall_64+0x4e/0x140
[  112.661009]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  112.661015] RIP: 0033:0x7f9b251ea25b
[  112.661017] Code: 0f 1e fa 48 8b 05 25 9c 0c 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d f5 9b 0c 00 f7 d8 64 89 01 48
[  112.661018] RSP: 002b:00007ffd08568338 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[  112.661020] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f9b251ea25b
[  112.661021] RDX: 0000000000100000 RSI: 0000000000004c80 RDI: 0000000000000003
[  112.661022] RBP: 00007ffd08568400 R08: 000000000000000a R09: 0000000000000012
[  112.661023] R10: 00007ffd08565b31 R11: 0000000000000246 R12: 0000000000000003
[  112.661025] R13: 00007ffd08568344 R14: 000055a4a27d4020 R15: 00007ffd08568400
[  112.661079] ------------[ cut here ]------------
[  112.661083] WARNING: CPU: 0 PID: 444 at fs/sysfs/group.c:115 internal_create_group+0x363/0x390
[  112.661083] Modules linked in: loop cfg80211 rfkill 8021q garp mrp stp llc cirrus drm_kms_helper drm psmouse joydev input_leds mousedev intel_agp pcspkr i6300esb syscopyarea intel_gtt sysfillrect evdev sysimgblt agpgart qemu_fw_cfg mac_hid fb_sys_fops i2c_piix4 ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 dm_crypt dm_mod hid_generic usbhid hid sd_mod sr_mod cdrom ata_generic pata_acpi virtio_balloon virtio_scsi virtio_console ata_piix serio_raw atkbd libps2 libata crct10dif_pclmul crc32_pclmul uhci_hcd crc32c_intel ehci_pci ghash_clmulni_intel scsi_mod virtio_pci ehci_hcd floppy i8042 serio virtio_net net_failover failover aesni_intel crypto_simd cryptd glue_helper
[  112.661133] CPU: 0 PID: 444 Comm: losetup Tainted: G        W         5.4.1-arch1-1 #1
[  112.661134] Hardware name: netcup KVM Server, BIOS VPS 200 G8 12/02/2019
[  112.661135] RIP: 0010:internal_create_group+0x363/0x390
[  112.661137] Code: e8 d2 cf ff ff 8b 04 24 e9 db fe ff ff 49 8b 6c 24 30 e9 54 fd ff ff 48 85 c0 0f 85 01 fd ff ff b8 ea ff ff ff e9 e3 fe ff ff <0f> 0b b8 ea ff ff ff e9 d7 fe ff ff 49 8b 7c 24 30 48 8b 33 e8 84
[  112.661137] RSP: 0018:ffffb35240293d18 EFLAGS: 00010246
[  112.661138] RAX: 0000000000000000 RBX: ffffffffa2466ce0 RCX: 0000000000000000
[  112.661139] RDX: ffffffffa2466ce0 RSI: 0000000000000000 RDI: ffff9feebb5e4070
[  112.661140] RBP: ffff9feebb5e4070 R08: ffffffffa2543ae0 R09: 0000000000000001
[  112.661141] R10: 0000000000000023 R11: ffff9feebc532200 R12: ffff9feebb5e4070
[  112.661142] R13: ffff9feebb5e400c R14: 0000000000000000 R15: ffff9fee76507310
[  112.661144] FS:  00007f9b250f1740(0000) GS:ffff9feebda00000(0000) knlGS:0000000000000000
[  112.661145] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  112.661146] CR2: 00007f9b251da4e0 CR3: 000000007b6b2004 CR4: 00000000000606f0
[  112.661149] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  112.661150] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  112.661151] Call Trace:
[  112.661162]  blk_register_queue+0x4b/0x230
[  112.661173]  __device_add_disk+0x47c/0x4b0
[  112.661177]  loop_add+0x1e4/0x250 [loop]
[  112.661180]  loop_control_ioctl+0xa7/0x140 [loop]
[  112.661183]  do_vfs_ioctl+0x43d/0x6c0
[  112.661186]  ? syscall_trace_enter+0x19c/0x2e0
[  112.661188]  ksys_ioctl+0x5e/0x90
[  112.661191]  __x64_sys_ioctl+0x16/0x20
[  112.661193]  do_syscall_64+0x4e/0x140
[  112.661195]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  112.661196] RIP: 0033:0x7f9b251ea25b
[  112.661198] Code: 0f 1e fa 48 8b 05 25 9c 0c 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d f5 9b 0c 00 f7 d8 64 89 01 48
[  112.661198] RSP: 002b:00007ffd08568338 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[  112.661199] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f9b251ea25b
[  112.661200] RDX: 0000000000100000 RSI: 0000000000004c80 RDI: 0000000000000003
[  112.661200] RBP: 00007ffd08568400 R08: 000000000000000a R09: 0000000000000012
[  112.661204] R10: 00007ffd08565b31 R11: 0000000000000246 R12: 0000000000000003
[  112.661205] R13: 00007ffd08568344 R14: 000055a4a27d4020 R15: 00007ffd08568400
[  112.661207] ---[ end trace 1f3c07c7bf2ac59a ]---
[  112.664554] ------------[ cut here ]------------
[  112.664566] WARNING: CPU: 0 PID: 444 at fs/sysfs/file.c:327 sysfs_create_file_ns+0x8b/0xa0
[  112.664566] Modules linked in: loop cfg80211 rfkill 8021q garp mrp stp llc cirrus drm_kms_helper drm psmouse joydev input_leds mousedev intel_agp pcspkr i6300esb syscopyarea intel_gtt sysfillrect evdev sysimgblt agpgart qemu_fw_cfg mac_hid fb_sys_fops i2c_piix4 ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 dm_crypt dm_mod hid_generic usbhid hid sd_mod sr_mod cdrom ata_generic pata_acpi virtio_balloon virtio_scsi virtio_console ata_piix serio_raw atkbd libps2 libata crct10dif_pclmul crc32_pclmul uhci_hcd crc32c_intel ehci_pci ghash_clmulni_intel scsi_mod virtio_pci ehci_hcd floppy i8042 serio virtio_net net_failover failover aesni_intel crypto_simd cryptd glue_helper
[  112.664595] CPU: 0 PID: 444 Comm: losetup Tainted: G        W         5.4.1-arch1-1 #1
[  112.664595] Hardware name: netcup KVM Server, BIOS VPS 200 G8 12/02/2019
[  112.664597] RIP: 0010:sysfs_create_file_ns+0x8b/0xa0
[  112.664599] Code: 4c 24 0c 48 89 ee 44 8b 44 24 08 e8 0f fe ff ff 5a 48 8b 4c 24 08 65 48 33 0c 25 28 00 00 00 75 12 48 83 c4 10 5b 5d 41 5c c3 <0f> 0b b8 ea ff ff ff eb de e8 97 68 d3 ff 0f 1f 80 00 00 00 00 0f
[  112.664600] RSP: 0018:ffffb35240293d58 EFLAGS: 00010246
[  112.664601] RAX: 0000000000000000 RBX: ffff9feebb5e4070 RCX: 0000000000000000
[  112.664602] RDX: 0000000000000000 RSI: ffffffffa2065d20 RDI: ffff9feebb5e4070
[  112.664602] RBP: ffffffffa24aef80 R08: ffffffffa2543ae0 R09: 0000000000000001
[  112.664603] R10: 0000000000000023 R11: ffff9feebc532200 R12: ffff9feebb5e4070
[  112.664604] R13: ffff9feebb5e4070 R14: 0000000000000000 R15: 0000000000000000
[  112.664605] FS:  00007f9b250f1740(0000) GS:ffff9feebda00000(0000) knlGS:0000000000000000
[  112.664605] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  112.664606] CR2: 00007f1632bff810 CR3: 000000007b6b2004 CR4: 00000000000606f0
[  112.664609] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  112.664610] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  112.664610] Call Trace:
[  112.664615]  sysfs_create_files+0x2c/0x90
[  112.664618]  __device_add_disk+0x292/0x4b0
[  112.664623]  loop_add+0x1e4/0x250 [loop]
[  112.664626]  loop_control_ioctl+0xa7/0x140 [loop]
[  112.664628]  do_vfs_ioctl+0x43d/0x6c0
[  112.664633]  ? syscall_trace_enter+0x19c/0x2e0
[  112.664635]  ksys_ioctl+0x5e/0x90
[  112.664637]  __x64_sys_ioctl+0x16/0x20
[  112.664639]  do_syscall_64+0x4e/0x140
[  112.664642]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  112.664645] RIP: 0033:0x7f9b251ea25b
[  112.664647] Code: 0f 1e fa 48 8b 05 25 9c 0c 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d f5 9b 0c 00 f7 d8 64 89 01 48
[  112.664648] RSP: 002b:00007ffd08568338 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[  112.664650] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f9b251ea25b
[  112.664651] RDX: 0000000000100000 RSI: 0000000000004c80 RDI: 0000000000000003
[  112.664652] RBP: 00007ffd08568400 R08: 000000000000000a R09: 0000000000000012
[  112.664652] R10: 00007ffd08565b31 R11: 0000000000000246 R12: 0000000000000003
[  112.664653] R13: 00007ffd08568344 R14: 000055a4a27d4020 R15: 00007ffd08568400
[  112.664656] ---[ end trace 1f3c07c7bf2ac59b ]---
[  112.664658] ------------[ cut here ]------------
[  112.664658] kernfs: can not remove 'events', no directory
[  112.664671] WARNING: CPU: 0 PID: 444 at fs/kernfs/dir.c:1504 kernfs_remove_by_name_ns+0x83/0x90
[  112.664671] Modules linked in: loop cfg80211 rfkill 8021q garp mrp stp llc cirrus drm_kms_helper drm psmouse joydev input_leds mousedev intel_agp pcspkr i6300esb syscopyarea intel_gtt sysfillrect evdev sysimgblt agpgart qemu_fw_cfg mac_hid fb_sys_fops i2c_piix4 ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 dm_crypt dm_mod hid_generic usbhid hid sd_mod sr_mod cdrom ata_generic pata_acpi virtio_balloon virtio_scsi virtio_console ata_piix serio_raw atkbd libps2 libata crct10dif_pclmul crc32_pclmul uhci_hcd crc32c_intel ehci_pci ghash_clmulni_intel scsi_mod virtio_pci ehci_hcd floppy i8042 serio virtio_net net_failover failover aesni_intel crypto_simd cryptd glue_helper
[  112.664702] CPU: 0 PID: 444 Comm: losetup Tainted: G        W         5.4.1-arch1-1 #1
[  112.664703] Hardware name: netcup KVM Server, BIOS VPS 200 G8 12/02/2019
[  112.664706] RIP: 0010:kernfs_remove_by_name_ns+0x83/0x90
[  112.664707] Code: 5a 5d 00 31 c0 5d 41 5c 41 5d c3 48 c7 c7 c0 b3 49 a2 e8 60 5a 5d 00 b8 fe ff ff ff eb e7 48 c7 c7 d8 96 2f a2 e8 7b 89 d3 ff <0f> 0b b8 fe ff ff ff eb d2 0f 1f 40 00 0f 1f 44 00 00 41 57 41 56
[  112.664708] RSP: 0018:ffffb35240293d68 EFLAGS: 00010286
[  112.664709] RAX: 0000000000000000 RBX: ffffffffa24aef78 RCX: 0000000000000000
[  112.664710] RDX: 0000000000000001 RSI: 0000000000000086 RDI: 00000000ffffffff
[  112.664711] RBP: ffffffffa24aef78 R08: 00000000000002be R09: 0000000000000001
[  112.664713] R10: 0000000000000000 R11: 0000000000000001 R12: ffffffffa23274c9
[  112.664714] R13: ffff9feebb5e4070 R14: 0000000000000000 R15: 0000000000000000
[  112.664715] FS:  00007f9b250f1740(0000) GS:ffff9feebda00000(0000) knlGS:0000000000000000
[  112.664716] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  112.664717] CR2: 00007f1632bff810 CR3: 000000007b6b2004 CR4: 00000000000606f0
[  112.664722] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  112.664723] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  112.664724] Call Trace:
[  112.664734]  sysfs_create_files+0x73/0x90
[  112.664737]  __device_add_disk+0x292/0x4b0
[  112.664740]  loop_add+0x1e4/0x250 [loop]
[  112.664743]  loop_control_ioctl+0xa7/0x140 [loop]
[  112.664745]  do_vfs_ioctl+0x43d/0x6c0
[  112.664748]  ? syscall_trace_enter+0x19c/0x2e0
[  112.664750]  ksys_ioctl+0x5e/0x90
[  112.664752]  __x64_sys_ioctl+0x16/0x20
[  112.664754]  do_syscall_64+0x4e/0x140
[  112.664756]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[  112.664758] RIP: 0033:0x7f9b251ea25b
[  112.664759] Code: 0f 1e fa 48 8b 05 25 9c 0c 00 64 c7 00 26 00 00 00 48 c7 c0 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d f5 9b 0c 00 f7 d8 64 89 01 48
[  112.664760] RSP: 002b:00007ffd08568338 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[  112.664765] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f9b251ea25b
[  112.664766] RDX: 0000000000100000 RSI: 0000000000004c80 RDI: 0000000000000003
[  112.664767] RBP: 00007ffd08568400 R08: 000000000000000a R09: 0000000000000012
[  112.664768] R10: 00007ffd08565b31 R11: 0000000000000246 R12: 0000000000000003
[  112.664770] R13: 00007ffd08568344 R14: 000055a4a27d4020 R15: 00007ffd08568400
[  112.664772] ---[ end trace 1f3c07c7bf2ac59c ]---
[  112.664781] loop1048576: failed to create sysfs files for events
[  112.664791] kobject_add_internal failed for integrity (error: -2 parent: loop1048576)

Subsequent detachement failure:

[root@KVM-NEU ~]# losetup -D
448: loopdev:      CXT: [0x7ffd589521c0]: initialize context
448: loopdev:      CXT: [0x7ffd589521c0]: init: ignore ioctls
448: loopdev:      CXT: [0x7ffd589521c0]: init: loop-control detected 
448: loopdev:     ITER: [0x7ffd58952350]: initialize
448: loopdev:     ITER: [0x7ffd58952350]: next
448: loopdev:     ITER: [0x7ffd58952350]: scanning /sys/block
448: loopdev:     ITER: [0x7ffd58952350]: check .
448: loopdev:     ITER: [0x7ffd58952350]: check ..
448: loopdev:     ITER: [0x7ffd58952350]: check loop1
448: loopdev:     ITER: [0x7ffd58952350]: check loop6
448: loopdev:     ITER: [0x7ffd58952350]: check loop4
448: loopdev:     ITER: [0x7ffd58952350]: check sr0
448: loopdev:     ITER: [0x7ffd58952350]: check loop2
448: loopdev:     ITER: [0x7ffd58952350]: check loop0
448: loopdev:      CXT: [0x7ffd589521c0]: loop0 name assigned
448: loopdev:     ITER: [0x7ffd58952350]: /dev/loop0 exist
448: loopdev:      CXT: [0x7ffd589521c0]: get_offset [rc=0]
448: loopdev:      CXT: [0x7ffd589521c0]: open /dev/loop0 [ro]: No such file or directory
448: loopdev:      CXT: [0x7ffd589521c0]: LOOP_CLR_FD failed: No such device or address
losetup: /dev/loop0: detach failed: No such device or address
448: loopdev:     ITER: [0x7ffd58952350]: next
448: loopdev:     ITER: [0x7ffd58952350]: scanning /sys/block
448: loopdev:     ITER: [0x7ffd58952350]: check dm-0
448: loopdev:     ITER: [0x7ffd58952350]: check loop7
448: loopdev:     ITER: [0x7ffd58952350]: check sda
448: loopdev:     ITER: [0x7ffd58952350]: check loop5
448: loopdev:     ITER: [0x7ffd58952350]: check loop3
448: loopdev:     ITER: [0x7ffd58952350]: de-initialize
448: loopdev:     ITER: [0x7ffd58952350]: de-initialize
448: loopdev:      CXT: [0x7ffd589521c0]: de-initialize
448: loopdev:      CXT: [0x7ffd589521c0]: closing old open fd
448: loopdev:     ITER: [0x7ffd58952350]: de-initialize
[root@KVM-NEU ~]# losetup
450: loopdev:      CXT: [0x7ffe522d9860]: initialize context
450: loopdev:      CXT: [0x7ffe522d9860]: init: ignore ioctls
450: loopdev:      CXT: [0x7ffe522d9860]: init: loop-control detected 
450: loopdev:     ITER: [0x7ffe522d99f0]: initialize
450: loopdev:     ITER: [0x7ffe522d99f0]: next
450: loopdev:     ITER: [0x7ffe522d99f0]: scanning /sys/block
450: loopdev:     ITER: [0x7ffe522d99f0]: check .
450: loopdev:     ITER: [0x7ffe522d99f0]: check ..
450: loopdev:     ITER: [0x7ffe522d99f0]: check loop1
450: loopdev:     ITER: [0x7ffe522d99f0]: check loop6
450: loopdev:     ITER: [0x7ffe522d99f0]: check loop4
450: loopdev:     ITER: [0x7ffe522d99f0]: check sr0
450: loopdev:     ITER: [0x7ffe522d99f0]: check loop2
450: loopdev:     ITER: [0x7ffe522d99f0]: check loop0
450: loopdev:      CXT: [0x7ffe522d9860]: loop0 name assigned
450: loopdev:     ITER: [0x7ffe522d99f0]: /dev/loop0 exist
450: loopdev:      CXT: [0x7ffe522d9860]: get_offset [rc=0]
450: loopdev:      CXT: [0x7ffe522d9860]: get_sizelimit [rc=0]
450: loopdev:      CXT: [0x7ffe522d9860]: get_offset [rc=0]
450: loopdev:      CXT: [0x7ffe522d9860]: get_backing_file [/root/somefile]
450: loopdev:      CXT: [0x7ffe522d9860]: get_blocksize [rc=0]
450: loopdev:     ITER: [0x7ffe522d99f0]: next
450: loopdev:     ITER: [0x7ffe522d99f0]: scanning /sys/block
450: loopdev:     ITER: [0x7ffe522d99f0]: check dm-0
450: loopdev:     ITER: [0x7ffe522d99f0]: check loop7
450: loopdev:     ITER: [0x7ffe522d99f0]: check sda
450: loopdev:     ITER: [0x7ffe522d99f0]: check loop5
450: loopdev:     ITER: [0x7ffe522d99f0]: check loop3
450: loopdev:     ITER: [0x7ffe522d99f0]: de-initialize
450: loopdev:     ITER: [0x7ffe522d99f0]: de-initialize
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE      DIO LOG-SEC
/dev/loop0         0      0         0  0 /root/somefile   0     512
450: loopdev:      CXT: [0x7ffe522d9860]: de-initialize
450: loopdev:     ITER: [0x7ffe522d99f0]: de-initialize

@karelzak
Copy link
Collaborator

karelzak commented Dec 4, 2019 via email

@mator
Copy link
Contributor

mator commented Jun 8, 2020

@KumanekoSakura
Copy link

A patch to reject /dev/loopX with X >= 1048576 has arrived to upstream kernel as
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e338924bd05d6e71574bc13e310c89e10e49a8a5 .

Please backport to your distribution's kernel as needed.

@karelzak
Copy link
Collaborator

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NEEDINFO Need more information from reporter
Projects
None yet
Development

No branches or pull requests

4 participants