overlayfs: workdir and upperdir must be separate subtrees

======================================================
WARNING: possible circular locking dependency detected
4.20.0-rc5+ #142 Not tainted
------------------------------------------------------
kworker/0:4/6536 is trying to acquire lock:
00000000dc3e9646 (&sb->s_type->i_mutex_key#9){++++}, at: inode_lock include/linux/fs.h:757 [inline]
00000000dc3e9646 (&sb->s_type->i_mutex_key#9){++++}, at: __generic_file_fsync+0xb5/0x200 fs/libfs.c:981

but task is already holding lock:
0000000051ebfef2 ((work_completion)(&dio->complete_work)){+.+.}, at: process_one_work+0xb9a/0x1c40 kernel/workqueue.c:2128

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #2 ((work_completion)(&dio->complete_work)){+.+.}:
       process_one_work+0xc0a/0x1c40 kernel/workqueue.c:2129
       worker_thread+0x17f/0x1390 kernel/workqueue.c:2296
       kthread+0x35a/0x440 kernel/kthread.c:246
       ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352

-> #1 ((wq_completion)"dio/%s"sb->s_id){+.+.}:
       flush_workqueue+0x30a/0x1e10 kernel/workqueue.c:2655
       drain_workqueue+0x2a9/0x640 kernel/workqueue.c:2820
       destroy_workqueue+0xc6/0x9c0 kernel/workqueue.c:4155
       __alloc_workqueue_key+0xe56/0x10a0 kernel/workqueue.c:4138
       sb_init_dio_done_wq+0x37/0x90 fs/direct-io.c:623
       dio_set_defer_completion fs/direct-io.c:646 [inline]
       get_more_blocks fs/direct-io.c:723 [inline]
       do_direct_IO+0x503a/0xc110 fs/direct-io.c:1001
       do_blockdev_direct_IO+0xc30/0x9db0 fs/direct-io.c:1331
       __blockdev_direct_IO+0x9d/0xc6 fs/direct-io.c:1417
       ext4_direct_IO_write fs/ext4/inode.c:3774 [inline]
       ext4_direct_IO+0xbe6/0x2230 fs/ext4/inode.c:3901
       generic_file_direct_write+0x275/0x4b0 mm/filemap.c:3043
       __generic_file_write_iter+0x2ff/0x630 mm/filemap.c:3222
       ext4_file_write_iter+0x390/0x1420 fs/ext4/file.c:266
       call_write_iter include/linux/fs.h:1857 [inline]
       aio_write+0x3b1/0x610 fs/aio.c:1562
       io_submit_one+0xaa1/0xf80 fs/aio.c:1836
       __do_sys_io_submit fs/aio.c:1917 [inline]
       __se_sys_io_submit fs/aio.c:1888 [inline]
       __x64_sys_io_submit+0x1b7/0x580 fs/aio.c:1888
       do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
       entry_SYSCALL_64_after_hwframe+0x49/0xbe

-> #0 (&sb->s_type->i_mutex_key#9){++++}:
       lock_acquire+0x1ed/0x520 kernel/locking/lockdep.c:3844
       down_write+0x8a/0x130 kernel/locking/rwsem.c:70
       inode_lock include/linux/fs.h:757 [inline]
       __generic_file_fsync+0xb5/0x200 fs/libfs.c:981
       ext4_sync_file+0xa4f/0x1510 fs/ext4/fsync.c:120
       vfs_fsync_range+0x140/0x220 fs/sync.c:197
       generic_write_sync include/linux/fs.h:2781 [inline]
       dio_complete+0x775/0x9f0 fs/direct-io.c:329
       dio_aio_complete_work+0x20/0x30 fs/direct-io.c:341
       process_one_work+0xc90/0x1c40 kernel/workqueue.c:2153
       worker_thread+0x17f/0x1390 kernel/workqueue.c:2296
       kthread+0x35a/0x440 kernel/kthread.c:246
       ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352

other info that might help us debug this:

Chain exists of:
  &sb->s_type->i_mutex_key#9 --> (wq_completion)"dio/%s"sb->s_id --> (work_completion)(&dio->complete_work)

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock((work_completion)(&dio->complete_work));
                               lock((wq_completion)"dio/%s"sb->s_id);
                               lock((work_completion)(&dio->complete_work));
  lock(&sb->s_type->i_mutex_key#9);

 *** DEADLOCK ***

2 locks held by kworker/0:4/6536:
 #0: 00000000c546288c ((wq_completion)"dio/%s"sb->s_id){+.+.}, at: __write_once_size include/linux/compiler.h:209 [inline]
 #0: 00000000c546288c ((wq_completion)"dio/%s"sb->s_id){+.+.}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline]
 #0: 00000000c546288c ((wq_completion)"dio/%s"sb->s_id){+.+.}, at: atomic64_set include/asm-generic/atomic-instrumented.h:40 [inline]
 #0: 00000000c546288c ((wq_completion)"dio/%s"sb->s_id){+.+.}, at: atomic_long_set include/asm-generic/atomic-long.h:59 [inline]
 #0: 00000000c546288c ((wq_completion)"dio/%s"sb->s_id){+.+.}, at: set_work_data kernel/workqueue.c:617 [inline]
 #0: 00000000c546288c ((wq_completion)"dio/%s"sb->s_id){+.+.}, at: set_work_pool_and_clear_pending kernel/workqueue.c:644 [inline]
 #0: 00000000c546288c ((wq_completion)"dio/%s"sb->s_id){+.+.}, at: process_one_work+0xb43/0x1c40 kernel/workqueue.c:2124
 #1: 0000000051ebfef2 ((work_completion)(&dio->complete_work)){+.+.}, at: process_one_work+0xb9a/0x1c40 kernel/workqueue.c:2128

stack backtrace:
CPU: 0 PID: 6536 Comm: kworker/0:4 Not tainted 4.20.0-rc5+ #142
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: dio/sda1 dio_aio_complete_work
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x244/0x39d lib/dump_stack.c:113
 print_circular_bug.isra.35.cold.54+0x1bd/0x27d kernel/locking/lockdep.c:1221
 check_prev_add kernel/locking/lockdep.c:1863 [inline]
 check_prevs_add kernel/locking/lockdep.c:1976 [inline]
 validate_chain kernel/locking/lockdep.c:2347 [inline]
 __lock_acquire+0x3399/0x4c20 kernel/locking/lockdep.c:3341
 lock_acquire+0x1ed/0x520 kernel/locking/lockdep.c:3844
 down_write+0x8a/0x130 kernel/locking/rwsem.c:70
 inode_lock include/linux/fs.h:757 [inline]
 __generic_file_fsync+0xb5/0x200 fs/libfs.c:981
 ext4_sync_file+0xa4f/0x1510 fs/ext4/fsync.c:120
 vfs_fsync_range+0x140/0x220 fs/sync.c:197
 generic_write_sync include/linux/fs.h:2781 [inline]
 dio_complete+0x775/0x9f0 fs/direct-io.c:329
 dio_aio_complete_work+0x20/0x30 fs/direct-io.c:341
 process_one_work+0xc90/0x1c40 kernel/workqueue.c:2153
 worker_thread+0x17f/0x1390 kernel/workqueue.c:2296
 kthread+0x35a/0x440 kernel/kthread.c:246
 ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352
kobject: 'net' (00000000724226a9): kobject_add_internal: parent: 'hwsim21', set: '(null)'
kobject: 'wlan1' (000000003a55d525): kobject_add_internal: parent: 'net', set: 'devices'
kobject: 'loop4' (0000000027ce1e46): kobject_uevent_env
kobject: 'wlan1' (000000003a55d525): kobject_uevent_env
kobject: 'wlan1' (000000003a55d525): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim21/net/wlan1'
kobject: 'loop4' (0000000027ce1e46): fill_kobj_path: path = '/devices/virtual/block/loop4'
kobject: 'queues' (00000000a721ef13): kobject_add_internal: parent: 'wlan1', set: '<NULL>'
kobject: 'queues' (00000000a721ef13): kobject_uevent_env
kobject: 'loop3' (0000000015638f50): kobject_uevent_env
kobject: 'loop3' (0000000015638f50): fill_kobj_path: path = '/devices/virtual/block/loop3'
kobject: 'queues' (00000000a721ef13): kobject_uevent_env: filter function caused the event to drop!
kobject: 'loop1' (00000000c289d4d8): kobject_uevent_env
kobject: 'loop1' (00000000c289d4d8): fill_kobj_path: path = '/devices/virtual/block/loop1'
kobject: 'loop4' (0000000027ce1e46): kobject_uevent_env
kobject: 'rx-0' (0000000014628190): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'loop4' (0000000027ce1e46): fill_kobj_path: path = '/devices/virtual/block/loop4'
kobject: 'rx-0' (0000000014628190): kobject_uevent_env
kobject: 'rx-0' (0000000014628190): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim21/net/wlan1/queues/rx-0'
kobject: 'tx-0' (0000000079761cc9): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-0' (0000000079761cc9): kobject_uevent_env
kobject: 'tx-0' (0000000079761cc9): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim21/net/wlan1/queues/tx-0'
kobject: 'tx-1' (0000000068091eee): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-1' (0000000068091eee): kobject_uevent_env
kobject: 'tx-1' (0000000068091eee): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim21/net/wlan1/queues/tx-1'
kobject: 'tx-2' (0000000089d03cac): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-2' (0000000089d03cac): kobject_uevent_env
kobject: 'tx-2' (0000000089d03cac): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim21/net/wlan1/queues/tx-2'
kobject: 'tx-3' (00000000b1d7dfa6): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-3' (00000000b1d7dfa6): kobject_uevent_env
kobject: 'tx-3' (00000000b1d7dfa6): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim21/net/wlan1/queues/tx-3'
kobject: 'hwsim22' (000000004dc4b629): kobject_add_internal: parent: 'mac80211_hwsim', set: 'devices'
kobject: 'hwsim22' (000000004dc4b629): kobject_uevent_env
kobject: 'hwsim22' (000000004dc4b629): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim22'
kobject: 'loop0' (000000007ed0bf13): kobject_uevent_env
kobject: 'loop0' (000000007ed0bf13): fill_kobj_path: path = '/devices/virtual/block/loop0'
kobject: 'hwsim22' (000000004dc4b629): kobject_uevent_env
kobject: 'hwsim22' (000000004dc4b629): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim22'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'ieee80211' (00000000bff846fe): kobject_add_internal: parent: 'hwsim22', set: '(null)'
kobject: 'phy22' (0000000081077aa4): kobject_add_internal: parent: 'ieee80211', set: 'devices'
kobject: 'loop4' (0000000027ce1e46): kobject_uevent_env
kobject: 'loop4' (0000000027ce1e46): fill_kobj_path: path = '/devices/virtual/block/loop4'
kobject: 'phy22' (0000000081077aa4): kobject_uevent_env
kobject: 'phy22' (0000000081077aa4): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim22/ieee80211/phy22'
kobject: 'rfkill23' (00000000dc9d666f): kobject_add_internal: parent: 'phy22', set: 'devices'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'rfkill23' (00000000dc9d666f): kobject_uevent_env
kobject: 'rfkill23' (00000000dc9d666f): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim22/ieee80211/phy22/rfkill23'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'loop4' (0000000027ce1e46): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'loop4' (0000000027ce1e46): fill_kobj_path: path = '/devices/virtual/block/loop4'
kobject: 'loop0' (000000007ed0bf13): kobject_uevent_env
kobject: 'loop0' (000000007ed0bf13): fill_kobj_path: path = '/devices/virtual/block/loop0'
ieee80211 phy22: Selected rate control algorithm 'minstrel_ht'
kobject: 'loop4' (0000000027ce1e46): kobject_uevent_env
kobject: 'net' (00000000efd192a5): kobject_add_internal: parent: 'hwsim22', set: '(null)'
kobject: 'loop4' (0000000027ce1e46): fill_kobj_path: path = '/devices/virtual/block/loop4'
kobject: 'wlan4' (00000000e8fe821d): kobject_add_internal: parent: 'net', set: 'devices'
kobject: 'loop3' (0000000015638f50): kobject_uevent_env
kobject: 'wlan4' (00000000e8fe821d): kobject_uevent_env
kobject: 'loop3' (0000000015638f50): fill_kobj_path: path = '/devices/virtual/block/loop3'
kobject: 'wlan4' (00000000e8fe821d): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim22/net/wlan4'
kobject: 'queues' (00000000f5719242): kobject_add_internal: parent: 'wlan4', set: '<NULL>'
kobject: 'queues' (00000000f5719242): kobject_uevent_env
kobject: 'queues' (00000000f5719242): kobject_uevent_env: filter function caused the event to drop!
kobject: 'rx-0' (00000000399d68ec): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'rx-0' (00000000399d68ec): kobject_uevent_env
kobject: 'rx-0' (00000000399d68ec): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim22/net/wlan4/queues/rx-0'
kobject: 'tx-0' (00000000e4a7e559): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-0' (00000000e4a7e559): kobject_uevent_env
kobject: 'tx-0' (00000000e4a7e559): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim22/net/wlan4/queues/tx-0'
kobject: 'tx-1' (000000003516d989): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-1' (000000003516d989): kobject_uevent_env
kobject: 'tx-1' (000000003516d989): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim22/net/wlan4/queues/tx-1'
kobject: 'tx-2' (000000008a6e6186): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-2' (000000008a6e6186): kobject_uevent_env
kobject: 'tx-2' (000000008a6e6186): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim22/net/wlan4/queues/tx-2'
kobject: 'tx-3' (000000003ebe5992): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-3' (000000003ebe5992): kobject_uevent_env
kobject: 'tx-3' (000000003ebe5992): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim22/net/wlan4/queues/tx-3'
kobject: 'hwsim23' (000000005961c6d2): kobject_add_internal: parent: 'mac80211_hwsim', set: 'devices'
kobject: 'hwsim23' (000000005961c6d2): kobject_uevent_env
kobject: 'hwsim23' (000000005961c6d2): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim23'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'loop1' (00000000c289d4d8): kobject_uevent_env
kobject: 'hwsim23' (000000005961c6d2): kobject_uevent_env
kobject: 'loop1' (00000000c289d4d8): fill_kobj_path: path = '/devices/virtual/block/loop1'
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'hwsim23' (000000005961c6d2): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim23'
kobject: 'loop4' (0000000027ce1e46): kobject_uevent_env
kobject: 'loop4' (0000000027ce1e46): fill_kobj_path: path = '/devices/virtual/block/loop4'
kobject: 'ieee80211' (0000000083bf65ba): kobject_add_internal: parent: 'hwsim23', set: '(null)'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'phy23' (00000000188040db): kobject_add_internal: parent: 'ieee80211', set: 'devices'
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'phy23' (00000000188040db): kobject_uevent_env
kobject: 'loop0' (000000007ed0bf13): kobject_uevent_env
kobject: 'phy23' (00000000188040db): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim23/ieee80211/phy23'
kobject: 'loop0' (000000007ed0bf13): fill_kobj_path: path = '/devices/virtual/block/loop0'
kobject: 'rfkill24' (0000000003169eb7): kobject_add_internal: parent: 'phy23', set: 'devices'
kobject: 'rfkill24' (0000000003169eb7): kobject_uevent_env
kobject: 'rfkill24' (0000000003169eb7): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim23/ieee80211/phy23/rfkill24'
kobject: 'loop4' (0000000027ce1e46): kobject_uevent_env
kobject: 'loop4' (0000000027ce1e46): fill_kobj_path: path = '/devices/virtual/block/loop4'
ieee80211 phy23: Selected rate control algorithm 'minstrel_ht'
kobject: 'net' (0000000042bb5ae6): kobject_add_internal: parent: 'hwsim23', set: '(null)'
kobject: 'wlan2' (000000009e07bb0f): kobject_add_internal: parent: 'net', set: 'devices'
kobject: 'wlan2' (000000009e07bb0f): kobject_uevent_env
kobject: 'wlan2' (000000009e07bb0f): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim23/net/wlan2'
kobject: 'queues' (0000000050276651): kobject_add_internal: parent: 'wlan2', set: '<NULL>'
kobject: 'queues' (0000000050276651): kobject_uevent_env
kobject: 'queues' (0000000050276651): kobject_uevent_env: filter function caused the event to drop!
kobject: 'rx-0' (000000001c2027ce): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'rx-0' (000000001c2027ce): kobject_uevent_env
kobject: 'rx-0' (000000001c2027ce): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim23/net/wlan2/queues/rx-0'
kobject: 'tx-0' (00000000766af0f6): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'loop1' (00000000c289d4d8): kobject_uevent_env
kobject: 'loop1' (00000000c289d4d8): fill_kobj_path: path = '/devices/virtual/block/loop1'
kobject: 'tx-0' (00000000766af0f6): kobject_uevent_env
kobject: 'loop3' (0000000015638f50): kobject_uevent_env
kobject: 'tx-0' (00000000766af0f6): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim23/net/wlan2/queues/tx-0'
kobject: 'loop3' (0000000015638f50): fill_kobj_path: path = '/devices/virtual/block/loop3'
kobject: 'tx-1' (0000000099d92da8): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-1' (0000000099d92da8): kobject_uevent_env
kobject: 'tx-1' (0000000099d92da8): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim23/net/wlan2/queues/tx-1'
kobject: 'tx-2' (00000000064d99de): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-2' (00000000064d99de): kobject_uevent_env
kobject: 'tx-2' (00000000064d99de): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim23/net/wlan2/queues/tx-2'
kobject: 'tx-3' (0000000028a1e3c9): kobject_add_internal: parent: 'queues', set: 'queues'
kobject: 'tx-3' (0000000028a1e3c9): kobject_uevent_env
kobject: 'tx-3' (0000000028a1e3c9): fill_kobj_path: path = '/devices/virtual/mac80211_hwsim/hwsim23/net/wlan2/queues/tx-3'
kobject: 'loop4' (0000000027ce1e46): kobject_uevent_env
kobject: 'loop4' (0000000027ce1e46): fill_kobj_path: path = '/devices/virtual/block/loop4'
kobject: 'loop3' (0000000015638f50): kobject_uevent_env
kobject: 'loop3' (0000000015638f50): fill_kobj_path: path = '/devices/virtual/block/loop3'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'loop4' (0000000027ce1e46): kobject_uevent_env
kobject: 'loop4' (0000000027ce1e46): fill_kobj_path: path = '/devices/virtual/block/loop4'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'loop4' (0000000027ce1e46): kobject_uevent_env
kobject: 'loop4' (0000000027ce1e46): fill_kobj_path: path = '/devices/virtual/block/loop4'
kobject: 'loop0' (000000007ed0bf13): kobject_uevent_env
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'loop0' (000000007ed0bf13): fill_kobj_path: path = '/devices/virtual/block/loop0'
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'loop0' (000000007ed0bf13): kobject_uevent_env
kobject: 'loop0' (000000007ed0bf13): fill_kobj_path: path = '/devices/virtual/block/loop0'
kobject: 'loop3' (0000000015638f50): kobject_uevent_env
kobject: 'loop3' (0000000015638f50): fill_kobj_path: path = '/devices/virtual/block/loop3'
kobject: 'loop1' (00000000c289d4d8): kobject_uevent_env
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'loop1' (00000000c289d4d8): fill_kobj_path: path = '/devices/virtual/block/loop1'
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'loop3' (0000000015638f50): kobject_uevent_env
kobject: 'loop3' (0000000015638f50): fill_kobj_path: path = '/devices/virtual/block/loop3'
kobject: 'loop0' (000000007ed0bf13): kobject_uevent_env
kobject: 'loop0' (000000007ed0bf13): fill_kobj_path: path = '/devices/virtual/block/loop0'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'loop0' (000000007ed0bf13): kobject_uevent_env
kobject: 'loop0' (000000007ed0bf13): fill_kobj_path: path = '/devices/virtual/block/loop0'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'loop3' (0000000015638f50): kobject_uevent_env
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'loop3' (0000000015638f50): fill_kobj_path: path = '/devices/virtual/block/loop3'
kobject: 'loop1' (00000000c289d4d8): kobject_uevent_env
kobject: 'loop1' (00000000c289d4d8): fill_kobj_path: path = '/devices/virtual/block/loop1'
kobject: 'loop0' (000000007ed0bf13): kobject_uevent_env
kobject: 'loop0' (000000007ed0bf13): fill_kobj_path: path = '/devices/virtual/block/loop0'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'loop4' (0000000027ce1e46): kobject_uevent_env
kobject: 'loop4' (0000000027ce1e46): fill_kobj_path: path = '/devices/virtual/block/loop4'
kobject: 'kvm' (000000005600d146): kobject_uevent_env
kobject: 'loop3' (0000000015638f50): kobject_uevent_env
kobject: 'kvm' (000000005600d146): fill_kobj_path: path = '/devices/virtual/misc/kvm'
kobject: 'loop3' (0000000015638f50): fill_kobj_path: path = '/devices/virtual/block/loop3'
kobject: 'loop0' (000000007ed0bf13): kobject_uevent_env
kobject: 'loop0' (000000007ed0bf13): fill_kobj_path: path = '/devices/virtual/block/loop0'
kobject: 'loop1' (00000000c289d4d8): kobject_uevent_env
kobject: 'loop1' (00000000c289d4d8): fill_kobj_path: path = '/devices/virtual/block/loop1'
kobject: 'loop3' (0000000015638f50): kobject_uevent_env
kobject: 'loop3' (0000000015638f50): fill_kobj_path: path = '/devices/virtual/block/loop3'
kobject: 'loop0' (000000007ed0bf13): kobject_uevent_env
kobject: 'loop0' (000000007ed0bf13): fill_kobj_path: path = '/devices/virtual/block/loop0'
kobject: 'loop3' (0000000015638f50): kobject_uevent_env
kobject: 'loop3' (0000000015638f50): fill_kobj_path: path = '/devices/virtual/block/loop3'
kobject: 'loop1' (00000000c289d4d8): kobject_uevent_env
kobject: 'loop1' (00000000c289d4d8): fill_kobj_path: path = '/devices/virtual/block/loop1'