Warning: Permanently added '10.128.1.121' (ED25519) to the list of known hosts. [ 68.620424][ T50] Bluetooth: hci0: unexpected cc 0x0c03 length: 249 > 1 [ 68.628317][ T50] Bluetooth: hci0: unexpected cc 0x1003 length: 249 > 9 [ 68.636925][ T50] Bluetooth: hci0: unexpected cc 0x1001 length: 249 > 9 [ 68.644887][ T50] Bluetooth: hci0: unexpected cc 0x0c23 length: 249 > 4 [ 68.652382][ T50] Bluetooth: hci0: unexpected cc 0x0c25 length: 249 > 3 [ 68.659840][ T50] Bluetooth: hci0: unexpected cc 0x0c38 length: 249 > 2 executing program [ 68.788301][ T5074] [ 68.790672][ T5074] ====================================================== [ 68.797691][ T5074] WARNING: possible circular locking dependency detected [ 68.804710][ T5074] 6.7.0-rc6-syzkaller-00010-g2cf4f94d8e86 #0 Not tainted [ 68.811733][ T5074] ------------------------------------------------------ [ 68.818748][ T5074] syz-executor402/5074 is trying to acquire lock: [ 68.825165][ T5074] ffff88807b664e10 ((work_completion)(&hdev->tx_work)){+.+.}-{0:0}, at: __flush_work+0xfa/0xa10 [ 68.835646][ T5074] [ 68.835646][ T5074] but task is already holding lock: [ 68.843008][ T5074] ffff88807b665108 (&hdev->req_lock){+.+.}-{3:3}, at: hci_dev_do_close+0x26/0x90 [ 68.852179][ T5074] [ 68.852179][ T5074] which lock already depends on the new lock. [ 68.852179][ T5074] [ 68.862581][ T5074] [ 68.862581][ T5074] the existing dependency chain (in reverse order) is: [ 68.871595][ T5074] [ 68.871595][ T5074] -> #3 (&hdev->req_lock){+.+.}-{3:3}: [ 68.879255][ T5074] __mutex_lock+0x175/0x9d0 [ 68.884291][ T5074] hci_dev_do_close+0x26/0x90 [ 68.889490][ T5074] hci_rfkill_set_block+0x1b9/0x200 [ 68.895206][ T5074] rfkill_set_block+0x200/0x550 [ 68.900579][ T5074] rfkill_fop_write+0x2d4/0x570 [ 68.905957][ T5074] vfs_write+0x2a4/0xdf0 [ 68.910716][ T5074] ksys_write+0x1f0/0x250 [ 68.915560][ T5074] __do_fast_syscall_32+0x62/0xe0 [ 68.921109][ T5074] do_fast_syscall_32+0x33/0x70 [ 68.926483][ T5074] entry_SYSENTER_compat_after_hwframe+0x70/0x7a [ 68.933334][ T5074] [ 68.933334][ T5074] -> #2 (rfkill_global_mutex){+.+.}-{3:3}: [ 68.941329][ T5074] __mutex_lock+0x175/0x9d0 [ 68.946353][ T5074] rfkill_register+0x3a/0xb30 [ 68.951566][ T5074] hci_register_dev+0x43a/0xd40 [ 68.956944][ T5074] __vhci_create_device+0x393/0x800 [ 68.962670][ T5074] vhci_write+0x2c7/0x470 [ 68.967526][ T5074] vfs_write+0x64f/0xdf0 [ 68.972285][ T5074] ksys_write+0x12f/0x250 [ 68.977134][ T5074] __do_fast_syscall_32+0x62/0xe0 [ 68.982681][ T5074] do_fast_syscall_32+0x33/0x70 [ 68.988054][ T5074] entry_SYSENTER_compat_after_hwframe+0x70/0x7a [ 68.994902][ T5074] [ 68.994902][ T5074] -> #1 (&data->open_mutex){+.+.}-{3:3}: [ 69.002720][ T5074] __mutex_lock+0x175/0x9d0 [ 69.007748][ T5074] vhci_send_frame+0x67/0xa0 [ 69.012867][ T5074] hci_send_frame+0x220/0x470 [ 69.018062][ T5074] hci_tx_work+0x1456/0x1e40 [ 69.023173][ T5074] process_one_work+0x886/0x15d0 [ 69.028638][ T5074] worker_thread+0x8b9/0x1290 [ 69.033844][ T5074] kthread+0x2c6/0x3a0 [ 69.038437][ T5074] ret_from_fork+0x45/0x80 [ 69.043383][ T5074] ret_from_fork_asm+0x11/0x20 [ 69.048673][ T5074] [ 69.048673][ T5074] -> #0 ((work_completion)(&hdev->tx_work)){+.+.}-{0:0}: [ 69.057880][ T5074] __lock_acquire+0x2433/0x3b20 [ 69.063257][ T5074] lock_acquire+0x1ae/0x520 [ 69.068286][ T5074] __flush_work+0x103/0xa10 [ 69.073313][ T5074] hci_dev_close_sync+0x22d/0x1160 [ 69.078943][ T5074] hci_dev_do_close+0x2e/0x90 [ 69.084161][ T5074] hci_rfkill_set_block+0x1b9/0x200 [ 69.089876][ T5074] rfkill_set_block+0x200/0x550 [ 69.095335][ T5074] rfkill_fop_write+0x2d4/0x570 [ 69.100707][ T5074] vfs_write+0x2a4/0xdf0 [ 69.105470][ T5074] ksys_write+0x1f0/0x250 [ 69.110314][ T5074] __do_fast_syscall_32+0x62/0xe0 [ 69.115860][ T5074] do_fast_syscall_32+0x33/0x70 [ 69.121232][ T5074] entry_SYSENTER_compat_after_hwframe+0x70/0x7a [ 69.128082][ T5074] [ 69.128082][ T5074] other info that might help us debug this: [ 69.128082][ T5074] [ 69.138384][ T5074] Chain exists of: [ 69.138384][ T5074] (work_completion)(&hdev->tx_work) --> rfkill_global_mutex --> &hdev->req_lock [ 69.138384][ T5074] [ 69.153331][ T5074] Possible unsafe locking scenario: [ 69.153331][ T5074] [ 69.160768][ T5074] CPU0 CPU1 [ 69.166120][ T5074] ---- ---- [ 69.171474][ T5074] lock(&hdev->req_lock); [ 69.175886][ T5074] lock(rfkill_global_mutex); [ 69.183169][ T5074] lock(&hdev->req_lock); [ 69.190095][ T5074] lock((work_completion)(&hdev->tx_work)); [ 69.196069][ T5074] [ 69.196069][ T5074] *** DEADLOCK *** [ 69.196069][ T5074] [ 69.204199][ T5074] 2 locks held by syz-executor402/5074: [ 69.209733][ T5074] #0: ffffffff8ef2caa8 (rfkill_global_mutex){+.+.}-{3:3}, at: rfkill_fop_write+0x16e/0x570 [ 69.219838][ T5074] #1: ffff88807b665108 (&hdev->req_lock){+.+.}-{3:3}, at: hci_dev_do_close+0x26/0x90 [ 69.229411][ T5074] [ 69.229411][ T5074] stack backtrace: [ 69.235283][ T5074] CPU: 0 PID: 5074 Comm: syz-executor402 Not tainted 6.7.0-rc6-syzkaller-00010-g2cf4f94d8e86 #0 [ 69.245689][ T5074] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023 [ 69.255736][ T5074] Call Trace: [ 69.259008][ T5074] [ 69.261932][ T5074] dump_stack_lvl+0xd9/0x1b0 [ 69.266526][ T5074] check_noncircular+0x317/0x400 [ 69.271475][ T5074] ? print_circular_bug+0x5c0/0x5c0 [ 69.276682][ T5074] ? is_bpf_text_address+0x94/0x1a0 [ 69.281885][ T5074] ? lockdep_lock+0xc6/0x200 [ 69.286481][ T5074] ? hlock_class+0x130/0x130 [ 69.291083][ T5074] __lock_acquire+0x2433/0x3b20 [ 69.295948][ T5074] ? lockdep_hardirqs_on_prepare+0x420/0x420 [ 69.301938][ T5074] ? save_trace+0x4e/0xb30 [ 69.306358][ T5074] ? _find_first_zero_bit+0x94/0xb0 [ 69.311566][ T5074] lock_acquire+0x1ae/0x520 [ 69.316083][ T5074] ? __flush_work+0xfa/0xa10 [ 69.320680][ T5074] ? lock_sync+0x190/0x190 [ 69.325111][ T5074] ? __flush_work+0xfa/0xa10 [ 69.329707][ T5074] __flush_work+0x103/0xa10 [ 69.334218][ T5074] ? __flush_work+0xfa/0xa10 [ 69.338814][ T5074] ? cancel_delayed_work+0x20/0x20 [ 69.343951][ T5074] hci_dev_close_sync+0x22d/0x1160 [ 69.349065][ T5074] ? find_held_lock+0x2d/0x110 [ 69.353834][ T5074] ? hci_reset_sync+0x50/0x50 [ 69.358514][ T5074] ? reacquire_held_locks+0x4c0/0x4c0 [ 69.363897][ T5074] hci_dev_do_close+0x2e/0x90 [ 69.368576][ T5074] hci_rfkill_set_block+0x1b9/0x200 [ 69.373773][ T5074] ? lockdep_hardirqs_on+0x7d/0x110 [ 69.378987][ T5074] ? hci_power_on+0x670/0x670 [ 69.383662][ T5074] rfkill_set_block+0x200/0x550 [ 69.388521][ T5074] rfkill_fop_write+0x2d4/0x570 [ 69.393375][ T5074] ? rfkill_register+0xb30/0xb30 [ 69.398332][ T5074] ? bpf_lsm_inode_remove_acl+0x10/0x10 [ 69.403890][ T5074] ? security_file_permission+0x94/0x100 [ 69.409532][ T5074] vfs_write+0x2a4/0xdf0 [ 69.413773][ T5074] ? rfkill_register+0xb30/0xb30 [ 69.418717][ T5074] ? kernel_write+0x6c0/0x6c0 [ 69.423393][ T5074] ? do_sys_openat2+0xb1/0x1e0 [ 69.428166][ T5074] ? build_open_flags+0x690/0x690 [ 69.433200][ T5074] ? find_held_lock+0x2d/0x110 [ 69.437975][ T5074] ? __fget_light+0x1fc/0x260 [ 69.442651][ T5074] ksys_write+0x1f0/0x250 [ 69.446985][ T5074] ? __ia32_sys_read+0xb0/0xb0 [ 69.451752][ T5074] __do_fast_syscall_32+0x62/0xe0 [ 69.456785][ T5074] do_fast_syscall_32+0x33/0x70 [ 69.461641][ T5074] entry_SYSENTER_compat_after_hwframe+0x70/0x7a [ 69.467976][ T5074] RIP: 0023:0xf7f07579 [ 69.472040][ T5074] Code: b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 8d b4 26 00 00 00 00 8d b4 26 00 00 00 00 [ 69.491645][ T5074] RSP: 002b:00000000ffaf9dcc EFLAGS: 00000246 ORIG_RAX: 0000000000000004 [ 69.500058][ T5074] RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000020000080 [ 69.508029][ T5074] RDX: 0000000000000008 RSI: 00000000f7fc9bfc RDI: 00000000f7f228f6 [ 69.515993][ T5074] RBP: 00000000ffaf9e44 R08: 0000000000000000 R09: 0000000000000000 [ 69.523960][ T5074] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 69.531924][ T5074] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 69.539895][ T5074] executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program