Warning: Permanently added '10.128.0.139' (ECDSA) to the list of known hosts. executing program syzkaller login: [ 76.114621][ T8407] L1TF CPU bug present and SMT on, data leak possible. See CVE-2018-3646 and https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html for details. executing program executing program executing program executing program executing program executing program [ 76.388778][ T8435] [ 76.391133][ T8435] ===================================================== [ 76.398066][ T8435] WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected [ 76.405627][ T8435] 5.12.0-rc3-syzkaller #0 Not tainted [ 76.411122][ T8435] ----------------------------------------------------- [ 76.418427][ T8435] syz-executor030/8435 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: [ 76.426637][ T8435] ffffc90001a2a230 (&kvm->arch.pvclock_gtod_sync_lock){+.+.}-{2:2}, at: get_kvmclock_ns+0x25/0x390 [ 76.437784][ T8435] [ 76.437784][ T8435] and this task is already holding: [ 76.445142][ T8435] ffff8880b9d35198 (&rq->lock){-.-.}-{2:2}, at: __schedule+0x21c/0x21b0 [ 76.453511][ T8435] which would create a new lock dependency: [ 76.459386][ T8435] (&rq->lock){-.-.}-{2:2} -> (&kvm->arch.pvclock_gtod_sync_lock){+.+.}-{2:2} [ 76.468410][ T8435] [ 76.468410][ T8435] but this new dependency connects a HARDIRQ-irq-safe lock: [ 76.477856][ T8435] (&rq->lock){-.-.}-{2:2} [ 76.477878][ T8435] [ 76.477878][ T8435] ... which became HARDIRQ-irq-safe at: [ 76.490039][ T8435] lock_acquire+0x1ab/0x740 [ 76.494621][ T8435] _raw_spin_lock+0x2a/0x40 [ 76.499322][ T8435] scheduler_tick+0xa4/0x4b0 [ 76.504014][ T8435] update_process_times+0x191/0x200 [ 76.509368][ T8435] tick_periodic+0x79/0x230 [ 76.513960][ T8435] tick_handle_periodic+0x41/0x120 [ 76.519172][ T8435] timer_interrupt+0x3f/0x60 [ 76.523832][ T8435] __handle_irq_event_percpu+0x303/0x8f0 [ 76.529553][ T8435] handle_irq_event+0x102/0x290 [ 76.534610][ T8435] handle_level_irq+0x256/0x6e0 [ 76.539637][ T8435] __common_interrupt+0x9e/0x200 [ 76.544670][ T8435] common_interrupt+0x9f/0xd0 [ 76.549419][ T8435] asm_common_interrupt+0x1e/0x40 [ 76.554513][ T8435] _raw_spin_unlock_irqrestore+0x38/0x70 [ 76.560237][ T8435] __setup_irq+0xc72/0x1ce0 [ 76.564810][ T8435] request_threaded_irq+0x28a/0x3b0 [ 76.570076][ T8435] hpet_time_init+0x28/0x42 [ 76.574646][ T8435] x86_late_time_init+0x58/0x94 [ 76.579586][ T8435] start_kernel+0x3ee/0x496 [ 76.584285][ T8435] secondary_startup_64_no_verify+0xb0/0xbb [ 76.590262][ T8435] [ 76.590262][ T8435] to a HARDIRQ-irq-unsafe lock: [ 76.597276][ T8435] (&kvm->arch.pvclock_gtod_sync_lock){+.+.}-{2:2} [ 76.597296][ T8435] [ 76.597296][ T8435] ... which became HARDIRQ-irq-unsafe at: [ 76.611918][ T8435] ... [ 76.611926][ T8435] lock_acquire+0x1ab/0x740 [ 76.619097][ T8435] _raw_spin_lock+0x2a/0x40 [ 76.623675][ T8435] kvm_synchronize_tsc+0x459/0x1230 [ 76.628955][ T8435] kvm_arch_vcpu_postcreate+0x73/0x180 [ 76.634486][ T8435] kvm_vm_ioctl+0x1b2d/0x2800 [ 76.639284][ T8435] kvm_vm_compat_ioctl+0x125/0x230 [ 76.644478][ T8435] __do_compat_sys_ioctl+0x1d3/0x230 [ 76.649845][ T8435] __do_fast_syscall_32+0x56/0x90 [ 76.654950][ T8435] do_fast_syscall_32+0x2f/0x70 [ 76.659885][ T8435] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 76.666424][ T8435] [ 76.666424][ T8435] other info that might help us debug this: [ 76.666424][ T8435] [ 76.676749][ T8435] Possible interrupt unsafe locking scenario: [ 76.676749][ T8435] [ 76.685057][ T8435] CPU0 CPU1 [ 76.690405][ T8435] ---- ---- [ 76.695774][ T8435] lock(&kvm->arch.pvclock_gtod_sync_lock); [ 76.704088][ T8435] local_irq_disable(); [ 76.710988][ T8435] lock(&rq->lock); [ 76.718053][ T8435] lock(&kvm->arch.pvclock_gtod_sync_lock); [ 76.727089][ T8435] [ 76.731410][ T8435] lock(&rq->lock); [ 76.735459][ T8435] [ 76.735459][ T8435] *** DEADLOCK *** [ 76.735459][ T8435] [ 76.743594][ T8435] 1 lock held by syz-executor030/8435: [ 76.749143][ T8435] #0: ffff8880b9d35198 (&rq->lock){-.-.}-{2:2}, at: __schedule+0x21c/0x21b0 [ 76.758024][ T8435] [ 76.758024][ T8435] the dependencies between HARDIRQ-irq-safe lock and the holding lock: [ 76.768456][ T8435] -> (&rq->lock){-.-.}-{2:2} { [ 76.773454][ T8435] IN-HARDIRQ-W at: [ 76.777419][ T8435] lock_acquire+0x1ab/0x740 [ 76.783570][ T8435] _raw_spin_lock+0x2a/0x40 [ 76.789819][ T8435] scheduler_tick+0xa4/0x4b0 [ 76.796065][ T8435] update_process_times+0x191/0x200 [ 76.802899][ T8435] tick_periodic+0x79/0x230 [ 76.809183][ T8435] tick_handle_periodic+0x41/0x120 [ 76.815957][ T8435] timer_interrupt+0x3f/0x60 [ 76.822183][ T8435] __handle_irq_event_percpu+0x303/0x8f0 [ 76.829553][ T8435] handle_irq_event+0x102/0x290 [ 76.836090][ T8435] handle_level_irq+0x256/0x6e0 [ 76.842590][ T8435] __common_interrupt+0x9e/0x200 [ 76.849177][ T8435] common_interrupt+0x9f/0xd0 [ 76.855488][ T8435] asm_common_interrupt+0x1e/0x40 [ 76.862429][ T8435] _raw_spin_unlock_irqrestore+0x38/0x70 [ 76.869724][ T8435] __setup_irq+0xc72/0x1ce0 [ 76.875886][ T8435] request_threaded_irq+0x28a/0x3b0 [ 76.882722][ T8435] hpet_time_init+0x28/0x42 [ 76.888860][ T8435] x86_late_time_init+0x58/0x94 [ 76.895350][ T8435] start_kernel+0x3ee/0x496 [ 76.901501][ T8435] secondary_startup_64_no_verify+0xb0/0xbb [ 76.909048][ T8435] IN-SOFTIRQ-W at: [ 76.913008][ T8435] lock_acquire+0x1ab/0x740 [ 76.919243][ T8435] _raw_spin_lock+0x2a/0x40 [ 76.925394][ T8435] try_to_wake_up+0x5e6/0x14a0 [ 76.931799][ T8435] call_timer_fn+0x1a5/0x6b0 [ 76.938217][ T8435] __run_timers.part.0+0x67c/0xa50 [ 76.945050][ T8435] run_timer_softirq+0xb3/0x1d0 [ 76.951545][ T8435] __do_softirq+0x29b/0x9f6 [ 76.957748][ T8435] irq_exit_rcu+0x134/0x200 [ 76.963911][ T8435] sysvec_apic_timer_interrupt+0x93/0xc0 [ 76.971207][ T8435] asm_sysvec_apic_timer_interrupt+0x12/0x20 [ 76.978907][ T8435] delay_tsc+0x45/0xb0 [ 76.984814][ T8435] try_check_zero+0x223/0x430 [ 76.991133][ T8435] process_srcu+0x2f2/0xe90 [ 76.997277][ T8435] process_one_work+0x98d/0x1600 [ 77.003873][ T8435] worker_thread+0x64c/0x1120 [ 77.010187][ T8435] kthread+0x3b1/0x4a0 [ 77.015979][ T8435] ret_from_fork+0x1f/0x30 [ 77.022045][ T8435] INITIAL USE at: [ 77.025972][ T8435] lock_acquire+0x1ab/0x740 [ 77.032110][ T8435] _raw_spin_lock_irqsave+0x39/0x50 [ 77.038866][ T8435] rq_attach_root+0x20/0x2e0 [ 77.045096][ T8435] sched_init+0x6e8/0xbf3 [ 77.051261][ T8435] start_kernel+0x18e/0x496 [ 77.057333][ T8435] secondary_startup_64_no_verify+0xb0/0xbb [ 77.064787][ T8435] } [ 77.067264][ T8435] ... key at: [] __key.298+0x0/0x40 [ 77.074573][ T8435] ... acquired at: [ 77.078480][ T8435] lock_acquire+0x1ab/0x740 [ 77.083170][ T8435] _raw_spin_lock+0x2a/0x40 [ 77.087854][ T8435] get_kvmclock_ns+0x25/0x390 [ 77.092697][ T8435] kvm_xen_update_runstate+0x3d/0x2c0 [ 77.098522][ T8435] kvm_xen_update_runstate_guest+0x74/0x320 [ 77.104584][ T8435] kvm_arch_vcpu_put+0x2d8/0x5a0 [ 77.109695][ T8435] kvm_sched_out+0xbf/0x100 [ 77.114361][ T8435] __schedule+0xfd0/0x21b0 [ 77.118952][ T8435] preempt_schedule_irq+0x4e/0x90 [ 77.124317][ T8435] irqentry_exit+0x7a/0xa0 [ 77.128899][ T8435] asm_sysvec_apic_timer_interrupt+0x12/0x20 [ 77.135142][ T8435] seg_setup+0x66/0x2a0 [ 77.139483][ T8435] vmx_vcpu_reset+0x20a/0xee0 [ 77.144315][ T8435] kvm_arch_vcpu_create+0x765/0xbb0 [ 77.149698][ T8435] kvm_vm_ioctl+0x1702/0x2800 [ 77.154543][ T8435] kvm_vm_compat_ioctl+0x125/0x230 [ 77.159824][ T8435] __do_compat_sys_ioctl+0x1d3/0x230 [ 77.165353][ T8435] __do_fast_syscall_32+0x56/0x90 [ 77.170560][ T8435] do_fast_syscall_32+0x2f/0x70 [ 77.175683][ T8435] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 77.182180][ T8435] [ 77.184503][ T8435] [ 77.184503][ T8435] the dependencies between the lock to be acquired [ 77.184509][ T8435] and HARDIRQ-irq-unsafe lock: [ 77.198097][ T8435] -> (&kvm->arch.pvclock_gtod_sync_lock){+.+.}-{2:2} { [ 77.204966][ T8435] HARDIRQ-ON-W at: [ 77.208949][ T8435] lock_acquire+0x1ab/0x740 [ 77.215374][ T8435] _raw_spin_lock+0x2a/0x40 [ 77.221527][ T8435] kvm_synchronize_tsc+0x459/0x1230 [ 77.228535][ T8435] kvm_arch_vcpu_postcreate+0x73/0x180 [ 77.235733][ T8435] kvm_vm_ioctl+0x1b2d/0x2800 [ 77.242055][ T8435] kvm_vm_compat_ioctl+0x125/0x230 [ 77.248817][ T8435] __do_compat_sys_ioctl+0x1d3/0x230 [ 77.255808][ T8435] __do_fast_syscall_32+0x56/0x90 [ 77.262473][ T8435] do_fast_syscall_32+0x2f/0x70 [ 77.268974][ T8435] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 77.276974][ T8435] SOFTIRQ-ON-W at: [ 77.281029][ T8435] lock_acquire+0x1ab/0x740 [ 77.287189][ T8435] _raw_spin_lock+0x2a/0x40 [ 77.293634][ T8435] kvm_synchronize_tsc+0x459/0x1230 [ 77.301679][ T8435] kvm_arch_vcpu_postcreate+0x73/0x180 [ 77.309231][ T8435] kvm_vm_ioctl+0x1b2d/0x2800 [ 77.315567][ T8435] kvm_vm_compat_ioctl+0x125/0x230 [ 77.322363][ T8435] __do_compat_sys_ioctl+0x1d3/0x230 [ 77.329689][ T8435] __do_fast_syscall_32+0x56/0x90 [ 77.336500][ T8435] do_fast_syscall_32+0x2f/0x70 [ 77.342997][ T8435] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 77.351076][ T8435] INITIAL USE at: [ 77.355048][ T8435] lock_acquire+0x1ab/0x740 [ 77.361107][ T8435] _raw_spin_lock+0x2a/0x40 [ 77.367200][ T8435] kvm_synchronize_tsc+0x459/0x1230 [ 77.375559][ T8435] kvm_arch_vcpu_postcreate+0x73/0x180 [ 77.382694][ T8435] kvm_vm_ioctl+0x1b2d/0x2800 [ 77.388924][ T8435] kvm_vm_compat_ioctl+0x125/0x230 [ 77.396208][ T8435] __do_compat_sys_ioctl+0x1d3/0x230 [ 77.403184][ T8435] __do_fast_syscall_32+0x56/0x90 [ 77.410275][ T8435] do_fast_syscall_32+0x2f/0x70 [ 77.416985][ T8435] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 77.424901][ T8435] } [ 77.427388][ T8435] ... key at: [] __key.4+0x0/0x40 [ 77.434596][ T8435] ... acquired at: [ 77.438704][ T8435] lock_acquire+0x1ab/0x740 [ 77.446272][ T8435] _raw_spin_lock+0x2a/0x40 [ 77.450954][ T8435] get_kvmclock_ns+0x25/0x390 [ 77.455814][ T8435] kvm_xen_update_runstate+0x3d/0x2c0 [ 77.461378][ T8435] kvm_xen_update_runstate_guest+0x74/0x320 [ 77.467433][ T8435] kvm_arch_vcpu_put+0x2d8/0x5a0 [ 77.472704][ T8435] kvm_sched_out+0xbf/0x100 [ 77.477398][ T8435] __schedule+0xfd0/0x21b0 [ 77.481993][ T8435] preempt_schedule_irq+0x4e/0x90 [ 77.487177][ T8435] irqentry_exit+0x7a/0xa0 [ 77.491768][ T8435] asm_sysvec_apic_timer_interrupt+0x12/0x20 [ 77.497907][ T8435] seg_setup+0x66/0x2a0 [ 77.502368][ T8435] vmx_vcpu_reset+0x20a/0xee0 [ 77.507421][ T8435] kvm_arch_vcpu_create+0x765/0xbb0 [ 77.512958][ T8435] kvm_vm_ioctl+0x1702/0x2800 [ 77.517813][ T8435] kvm_vm_compat_ioctl+0x125/0x230 [ 77.523095][ T8435] __do_compat_sys_ioctl+0x1d3/0x230 [ 77.528627][ T8435] __do_fast_syscall_32+0x56/0x90 [ 77.533806][ T8435] do_fast_syscall_32+0x2f/0x70 [ 77.538828][ T8435] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 77.545316][ T8435] [ 77.547639][ T8435] [ 77.547639][ T8435] stack backtrace: [ 77.553513][ T8435] CPU: 1 PID: 8435 Comm: syz-executor030 Not tainted 5.12.0-rc3-syzkaller #0 [ 77.562465][ T8435] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 77.572750][ T8435] Call Trace: [ 77.576125][ T8435] dump_stack+0x141/0x1d7 [ 77.580979][ T8435] check_irq_usage.cold+0x50d/0x744 [ 77.586571][ T8435] ? print_shortest_lock_dependencies+0x80/0x80 [ 77.592818][ T8435] ? mark_lock+0xef/0x17b0 [ 77.597223][ T8435] ? check_path.constprop.0+0x24/0x50 [ 77.602592][ T8435] ? lock_chain_count+0x20/0x20 [ 77.607429][ T8435] ? mark_lock+0xef/0x17b0 [ 77.613264][ T8435] ? lockdep_lock+0xc6/0x200 [ 77.617942][ T8435] ? call_rcu_zapped+0xb0/0xb0 [ 77.622716][ T8435] __lock_acquire+0x2b2c/0x54c0 [ 77.627744][ T8435] ? lockdep_hardirqs_on_prepare+0x400/0x400 [ 77.633990][ T8435] lock_acquire+0x1ab/0x740 [ 77.638485][ T8435] ? get_kvmclock_ns+0x25/0x390 [ 77.643399][ T8435] ? lock_release+0x720/0x720 [ 77.648077][ T8435] ? bad_range+0x252/0x300 [ 77.652480][ T8435] ? lockdep_hardirqs_on+0x79/0x100 [ 77.657688][ T8435] _raw_spin_lock+0x2a/0x40 [ 77.662184][ T8435] ? get_kvmclock_ns+0x25/0x390 [ 77.668292][ T8435] get_kvmclock_ns+0x25/0x390 [ 77.672964][ T8435] kvm_xen_update_runstate+0x3d/0x2c0 [ 77.678419][ T8435] ? rcu_read_lock_sched_held+0x3a/0x70 [ 77.683986][ T8435] kvm_xen_update_runstate_guest+0x74/0x320 [ 77.689983][ T8435] ? kvm_xen_hypercall_complete_userspace+0x110/0x110 [ 77.696754][ T8435] ? __sanitizer_cov_trace_const_cmp1+0x22/0x80 [ 77.703015][ T8435] ? __sanitizer_cov_trace_const_cmp4+0x1c/0x70 [ 77.709245][ T8435] ? vmx_segment_cache_test_set+0xe2/0x190 [ 77.715042][ T8435] ? __sanitizer_cov_trace_const_cmp1+0x22/0x80 [ 77.721460][ T8435] kvm_arch_vcpu_put+0x2d8/0x5a0 [ 77.730620][ T8435] ? kvm_arch_vcpu_load+0x9a0/0x9a0 [ 77.739028][ T8435] ? set_next_entity+0x287/0x460 [ 77.744064][ T8435] kvm_sched_out+0xbf/0x100 [ 77.748564][ T8435] __schedule+0xfd0/0x21b0 [ 77.752981][ T8435] ? io_schedule_timeout+0x140/0x140 [ 77.758263][ T8435] preempt_schedule_irq+0x4e/0x90 [ 77.763267][ T8435] irqentry_exit+0x7a/0xa0 [ 77.767877][ T8435] asm_sysvec_apic_timer_interrupt+0x12/0x20 [ 77.775372][ T8435] RIP: 0010:seg_setup+0x66/0x2a0 [ 77.780751][ T8435] Code: 84 c0 74 08 3c 03 0f 8e 32 02 00 00 48 89 d8 48 c1 e0 04 44 8b a0 80 72 64 89 0f 1f 44 00 00 e8 d0 31 56 00 31 c0 44 0f 79 e0 <2e> 0f 86 db 01 00 00 e8 be 31 56 00 e8 b9 31 56 00 48 89 df 48 b8 [ 77.800476][ T8435] RSP: 0018:ffffc9000183f988 EFLAGS: 00000202 [ 77.806529][ T8435] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 [ 77.814479][ T8435] RDX: ffff88801ba39c40 RSI: ffffffff811db9b0 RDI: ffffffff89647280 [ 77.822444][ T8435] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffc90001a2a16b [ 77.830829][ T8435] R10: ffffffff811dba9b R11: 0000000000000000 R12: 0000000000000800 [ 77.838781][ T8435] R13: 1ffff92000307f35 R14: ffff88801755e170 R15: 0000000000000040 [ 77.846739][ T8435] ? seg_setup+0x14b/0x2a0 [ 77.851139][ T8435] ? seg_setup+0x60/0x2a0 [ 77.855744][ T8435] ? seg_setup+0x60/0x2a0 [ 77.860065][ T8435] vmx_vcpu_reset+0x20a/0xee0 [ 77.864723][ T8435] ? handle_cr+0x1270/0x1270 [ 77.869302][ T8435] ? __sanitizer_cov_trace_const_cmp2+0x51/0x80 [ 77.875548][ T8435] ? memset+0x20/0x40 [ 77.879528][ T8435] ? kvm_vcpu_reset+0x6d5/0xc00 [ 77.884387][ T8435] kvm_arch_vcpu_create+0x765/0xbb0 [ 77.889588][ T8435] kvm_vm_ioctl+0x1702/0x2800 [ 77.894251][ T8435] ? kvm_unregister_device_ops+0x90/0x90 [ 77.899868][ T8435] ? find_held_lock+0x2d/0x110 [ 77.904720][ T8435] ? tomoyo_path_number_perm+0x204/0x590 [ 77.910358][ T8435] ? lock_downgrade+0x6e0/0x6e0 [ 77.915216][ T8435] ? __sanitizer_cov_trace_const_cmp1+0x22/0x80 [ 77.921454][ T8435] ? tomoyo_path_number_perm+0x441/0x590 [ 77.927087][ T8435] ? __sanitizer_cov_trace_const_cmp1+0x22/0x80 [ 77.933413][ T8435] ? tomoyo_path_number_perm+0x24e/0x590 [ 77.939042][ T8435] ? tomoyo_execute_permission+0x4a0/0x4a0 [ 77.944836][ T8435] ? __sanitizer_cov_trace_switch+0x63/0xf0 [ 77.950712][ T8435] ? __sanitizer_cov_trace_const_cmp2+0x22/0x80 [ 77.957121][ T8435] ? do_vfs_ioctl+0x27d/0x1090 [ 77.961887][ T8435] ? generic_block_fiemap+0x60/0x60 [ 77.969246][ T8435] ? find_held_lock+0x2d/0x110 [ 77.974617][ T8435] kvm_vm_compat_ioctl+0x125/0x230 [ 77.979765][ T8435] ? lock_downgrade+0x6e0/0x6e0 [ 77.984608][ T8435] ? kvm_vm_ioctl+0x2800/0x2800 [ 77.989458][ T8435] ? __sanitizer_cov_trace_const_cmp4+0x1c/0x70 [ 77.995703][ T8435] ? kvm_vm_ioctl+0x2800/0x2800 [ 78.000550][ T8435] __do_compat_sys_ioctl+0x1d3/0x230 [ 78.005820][ T8435] __do_fast_syscall_32+0x56/0x90 [ 78.010829][ T8435] do_fast_syscall_32+0x2f/0x70 [ 78.015666][ T8435] entry_SYSENTER_compat_after_hwframe+0x4d/0x5c [ 78.021994][ T8435] RIP: 0023:0xf7f50549 [ 78.026043][ T8435] Code: 03 74 c0 01 10 05 03 74 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 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 [ 78.045650][ T8435] RSP: 002b:00000000ffce641c EFLAGS: 00000217 ORIG_RAX: 0000000000000036 [ 78.054065][ T8435] RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 000000000000ae41 [ 78.062034][ T8435] RDX: 0000000000000000 RSI: 0000000000000036 RDI: 0000000000000004 [ 78.070172][ T8435] RBP: 000000004038ae7a R08: 0000000000000000 R09: 0000000000000000 [ 78.078129][ T8435] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 [ 78.086099][ T8435] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program executing program