* fs: INFO: possible irq lock inversion dependency detected in kill_fasync @ 2014-08-19 0:24 Sasha Levin 2014-09-03 12:52 ` Sasha Levin 0 siblings, 1 reply; 5+ messages in thread From: Sasha Levin @ 2014-08-19 0:24 UTC (permalink / raw) To: Al Viro; +Cc: linux-fsdevel, LKML, Dave Jones Hi all, While fuzzing with trinity inside a KVM tools guest running the latest -next kernel, I've stumbled on the following spew: [ 1132.334973] ========================================================= [ 1132.336095] [ INFO: possible irq lock inversion dependency detected ] [ 1132.337056] 3.16.0-next-20140815-sasha-00034-g615561b #1071 Not tainted [ 1132.337922] --------------------------------------------------------- [ 1132.340751] trinity-main/8521 just changed the state of lock: [ 1132.342015] (&(&new->fa_lock)->rlock){-.....}, at: kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] but this lock took another, HARDIRQ-unsafe lock in the past: [ 1132.342761] (&(&p->alloc_lock)->rlock){+.+...} and interrupts could create inverse lock ordering between them. [ 1132.342761] [ 1132.342761] other info that might help us debug this: [ 1132.342761] Chain exists of: &(&new->fa_lock)->rlock --> &f->f_owner.lock --> &(&p->alloc_lock)->rlock [ 1132.334973] ========================================================= [ 1132.336095] [ INFO: possible irq lock inversion dependency detected ] [ 1132.337056] 3.16.0-next-20140815-sasha-00034-g615561b #1071 Not tainted [ 1132.337922] --------------------------------------------------------- [ 1132.340751] trinity-main/8521 just changed the state of lock: [ 1132.342015] (&(&new->fa_lock)->rlock){-.....}, at: kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] but this lock took another, HARDIRQ-unsafe lock in the past: [ 1132.342761] (&(&p->alloc_lock)->rlock){+.+...} and interrupts could create inverse lock ordering between them. [ 1132.342761] [ 1132.342761] other info that might help us debug this: [ 1132.342761] Chain exists of: &(&new->fa_lock)->rlock --> &f->f_owner.lock --> &(&p->alloc_lock)->rlock [ 1132.342761] Possible interrupt unsafe locking scenario: [ 1132.342761] [ 1132.342761] CPU0 CPU1 [ 1132.342761] ---- ---- [ 1132.342761] lock(&(&p->alloc_lock)->rlock); [ 1132.342761] local_irq_disable(); [ 1132.342761] lock(&(&new->fa_lock)->rlock); [ 1132.342761] lock(&f->f_owner.lock); [ 1132.342761] <Interrupt> [ 1132.342761] lock(&(&new->fa_lock)->rlock); [ 1132.342761] [ 1132.342761] *** DEADLOCK *** [ 1132.342761] [ 1132.342761] 1 lock held by trinity-main/8521: [ 1132.342761] #0: (rcu_read_lock){......}, at: kill_fasync (fs/fcntl.c:731) [ 1132.342761] [ 1132.342761] the shortest dependencies between 2nd lock and 1st lock: [ 1132.342761] -> (&(&p->alloc_lock)->rlock){+.+...} ops: 737341 { [ 1132.342761] HARDIRQ-ON-W at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2802 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) [ 1132.342761] kthreadd (kernel/kthread.c:489) [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) [ 1132.342761] SOFTIRQ-ON-W at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) [ 1132.342761] kthreadd (kernel/kthread.c:489) [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) [ 1132.342761] INITIAL USE at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) [ 1132.342761] kthreadd (kernel/kthread.c:489) [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) [ 1132.342761] } [ 1132.342761] ... key at: __key.51842 (??:?) [ 1132.342761] ... acquired at: [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) [ 1132.342761] do_prlimit (kernel/sys.c:1386) [ 1132.342761] SyS_getrlimit (kernel/sys.c:1276 kernel/sys.c:1270) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] [ 1132.342761] -> (tasklist_lock){.+.+..} ops: 42693178 { [ 1132.342761] HARDIRQ-ON-R at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) [ 1132.342761] wait_for_helper (kernel/kmod.c:310) [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) [ 1132.342761] SOFTIRQ-ON-R at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) [ 1132.342761] wait_for_helper (kernel/kmod.c:310) [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) [ 1132.342761] INITIAL USE at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_write_lock_irq (include/linux/rwlock_api_smp.h:197 kernel/locking/spinlock.c:311) [ 1132.342761] copy_process (./arch/x86/include/asm/current.h:14 kernel/fork.c:1465) [ 1132.342761] do_fork (kernel/fork.c:1644) [ 1132.342761] kernel_thread (kernel/fork.c:1693) [ 1132.342761] rest_init (init/main.c:404) [ 1132.342761] start_kernel (init/main.c:682) [ 1132.342761] x86_64_start_reservations (arch/x86/kernel/head64.c:194) [ 1132.342761] x86_64_start_kernel (arch/x86/kernel/head64.c:183) [ 1132.342761] } [ 1132.342761] ... key at: tasklist_lock (??:?) [ 1132.342761] ... acquired at: [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] send_sigio (fs/fcntl.c:517) [ 1132.342761] dnotify_handle_event (fs/notify/dnotify/dnotify.c:114) [ 1132.342761] send_to_group (fs/notify/fsnotify.c:183) [ 1132.342761] fsnotify (fs/notify/fsnotify.c:249) [ 1132.342761] notify_change (fs/attr.c:272) [ 1132.342761] chown_common (fs/open.c:581) [ 1132.342761] SyS_fchown (fs/open.c:647 fs/open.c:634) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] [ 1132.342761] -> (&f->f_owner.lock){.+.+..} ops: 5967 { [ 1132.342761] HARDIRQ-ON-R at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] SOFTIRQ-ON-R at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] INITIAL USE at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] } [ 1132.342761] ... key at: __key.31497 (??:?) [ 1132.342761] ... acquired at: [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] send_sigio (fs/fcntl.c:506) [ 1132.342761] kill_fasync (include/linux/spinlock.h:364 fs/fcntl.c:725 fs/fcntl.c:737) [ 1132.342761] wakeup_pipe_writers (fs/splice.c:727) [ 1132.342761] iter_file_splice_write (fs/splice.c:861 fs/splice.c:1054) [ 1132.342761] SyS_splice (fs/splice.c:1128 fs/splice.c:1393 fs/splice.c:1701 fs/splice.c:1684) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] [ 1132.342761] -> (&(&new->fa_lock)->rlock){-.....} ops: 4993 { [ 1132.342761] IN-HARDIRQ-W at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) [ 1132.342761] irq_work_run (kernel/irq_work.c:170) [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) [ 1132.342761] do_fork (kernel/fork.c:1671) [ 1132.342761] SyS_clone (kernel/fork.c:1733) [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) [ 1132.342761] INITIAL USE at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock_irq (include/linux/spinlock_api_smp.h:129 kernel/locking/spinlock.c:167) [ 1132.342761] fasync_remove_entry (include/linux/spinlock.h:359 fs/fcntl.c:595) [ 1132.342761] fasync_helper (fs/fcntl.c:698) [ 1132.342761] sock_fasync (net/socket.c:1211 (discriminator 7)) [ 1132.342761] SyS_fcntl (fs/fcntl.c:70 fs/fcntl.c:274 fs/fcntl.c:378 fs/fcntl.c:363) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] } [ 1132.342761] ... key at: __key.37041 (??:?) [ 1132.342761] ... acquired at: [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) [ 1132.342761] irq_work_run (kernel/irq_work.c:170) [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) [ 1132.342761] do_fork (kernel/fork.c:1671) [ 1132.342761] SyS_clone (kernel/fork.c:1733) [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) [ 1132.342761] [ 1132.342761] [ 1132.342761] stack backtrace: [ 1132.342761] CPU: 10 PID: 8521 Comm: trinity-main Not tainted 3.16.0-next-20140815-sasha-00034-g615561b #1071 [ 1132.342761] ffff88071c003cb0 ffff88071c003c48 ffffffffb24a9798 ffffffffb651ed80 [ 1132.342761] ffff88071c003c90 ffffffffaf1cb19b ffff880714273d20 ffffffffb3740742 [ 1132.342761] ffff880714273000 ffffffffb3740742 ffff880714273d20 0000000000000002 [ 1132.342761] Call Trace: [ 1132.342761] <IRQ> dump_stack (lib/dump_stack.c:52) [ 1132.342761] print_irq_inversion_bug (kernel/locking/lockdep.c:2339) [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) [ 1132.342761] ? print_irq_inversion_bug (kernel/locking/lockdep.c:2349) [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) [ 1132.342761] ? kvm_clock_read (./arch/x86/include/asm/preempt.h:90 arch/x86/kernel/kvmclock.c:86) [ 1132.342761] ? sched_clock (./arch/x86/include/asm/paravirt.h:192 arch/x86/kernel/tsc.c:304) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.564837] FAULT_INJECTION: forcing a failure [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] ? kill_fasync (fs/fcntl.c:731) [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) [ 1132.342761] ? perf_event_reset (kernel/events/core.c:4337) [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) [ 1132.342761] irq_work_run (kernel/irq_work.c:170) [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) [ 1132.342761] <EOI> ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/paravirt.h:809 include/linux/spinlock_api_smp.h:160 kernel/locking/spinlock.c:191) [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) [ 1132.342761] do_fork (kernel/fork.c:1671) [ 1132.342761] ? context_tracking_user_exit (./arch/x86/include/asm/paravirt.h:809 (discriminator 2) kernel/context_tracking.c:184 (discriminator 2)) [ 1132.342761] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63) [ 1132.342761] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2559 kernel/locking/lockdep.c:2601) [ 1132.342761] ? trace_hardirqs_on (kernel/locking/lockdep.c:2609) [ 1132.342761] SyS_clone (kernel/fork.c:1733) [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) [ 1132.342761] ? tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] Possible interrupt unsafe locking scenario: [ 1132.342761] [ 1132.342761] CPU0 CPU1 [ 1132.342761] ---- ---- [ 1132.342761] lock(&(&p->alloc_lock)->rlock); [ 1132.342761] local_irq_disable(); [ 1132.342761] lock(&(&new->fa_lock)->rlock); [ 1132.342761] lock(&f->f_owner.lock); [ 1132.342761] <Interrupt> [ 1132.342761] lock(&(&new->fa_lock)->rlock); [ 1132.342761] [ 1132.342761] *** DEADLOCK *** [ 1132.342761] [ 1132.342761] 1 lock held by trinity-main/8521: [ 1132.342761] #0: (rcu_read_lock){......}, at: kill_fasync (fs/fcntl.c:731) [ 1132.342761] [ 1132.342761] the shortest dependencies between 2nd lock and 1st lock: [ 1132.342761] -> (&(&p->alloc_lock)->rlock){+.+...} ops: 737341 { [ 1132.342761] HARDIRQ-ON-W at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2802 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) [ 1132.342761] kthreadd (kernel/kthread.c:489) [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) [ 1132.342761] SOFTIRQ-ON-W at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) [ 1132.342761] kthreadd (kernel/kthread.c:489) [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) [ 1132.342761] INITIAL USE at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) [ 1132.342761] kthreadd (kernel/kthread.c:489) [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) [ 1132.342761] } [ 1132.342761] ... key at: __key.51842 (??:?) [ 1132.342761] ... acquired at: [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) [ 1132.342761] do_prlimit (kernel/sys.c:1386) [ 1132.342761] SyS_getrlimit (kernel/sys.c:1276 kernel/sys.c:1270) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] [ 1132.342761] -> (tasklist_lock){.+.+..} ops: 42693178 { [ 1132.342761] HARDIRQ-ON-R at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) [ 1132.342761] wait_for_helper (kernel/kmod.c:310) [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) [ 1132.342761] SOFTIRQ-ON-R at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) [ 1132.342761] wait_for_helper (kernel/kmod.c:310) [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) [ 1132.342761] INITIAL USE at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_write_lock_irq (include/linux/rwlock_api_smp.h:197 kernel/locking/spinlock.c:311) [ 1132.342761] copy_process (./arch/x86/include/asm/current.h:14 kernel/fork.c:1465) [ 1132.342761] do_fork (kernel/fork.c:1644) [ 1132.342761] kernel_thread (kernel/fork.c:1693) [ 1132.342761] rest_init (init/main.c:404) [ 1132.342761] start_kernel (init/main.c:682) [ 1132.342761] x86_64_start_reservations (arch/x86/kernel/head64.c:194) [ 1132.342761] x86_64_start_kernel (arch/x86/kernel/head64.c:183) [ 1132.342761] } [ 1132.342761] ... key at: tasklist_lock (??:?) [ 1132.342761] ... acquired at: [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] send_sigio (fs/fcntl.c:517) [ 1132.342761] dnotify_handle_event (fs/notify/dnotify/dnotify.c:114) [ 1132.342761] send_to_group (fs/notify/fsnotify.c:183) [ 1132.342761] fsnotify (fs/notify/fsnotify.c:249) [ 1132.342761] notify_change (fs/attr.c:272) [ 1132.342761] chown_common (fs/open.c:581) [ 1132.342761] SyS_fchown (fs/open.c:647 fs/open.c:634) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] [ 1132.342761] -> (&f->f_owner.lock){.+.+..} ops: 5967 { [ 1132.342761] HARDIRQ-ON-R at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] SOFTIRQ-ON-R at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] INITIAL USE at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] } [ 1132.342761] ... key at: __key.31497 (??:?) [ 1132.342761] ... acquired at: [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) [ 1132.342761] send_sigio (fs/fcntl.c:506) [ 1132.342761] kill_fasync (include/linux/spinlock.h:364 fs/fcntl.c:725 fs/fcntl.c:737) [ 1132.342761] wakeup_pipe_writers (fs/splice.c:727) [ 1132.342761] iter_file_splice_write (fs/splice.c:861 fs/splice.c:1054) [ 1132.342761] SyS_splice (fs/splice.c:1128 fs/splice.c:1393 fs/splice.c:1701 fs/splice.c:1684) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] [ 1132.342761] -> (&(&new->fa_lock)->rlock){-.....} ops: 4993 { [ 1132.342761] IN-HARDIRQ-W at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) [ 1132.342761] irq_work_run (kernel/irq_work.c:170) [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) [ 1132.342761] do_fork (kernel/fork.c:1671) [ 1132.342761] SyS_clone (kernel/fork.c:1733) [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) [ 1132.342761] INITIAL USE at: [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock_irq (include/linux/spinlock_api_smp.h:129 kernel/locking/spinlock.c:167) [ 1132.342761] fasync_remove_entry (include/linux/spinlock.h:359 fs/fcntl.c:595) [ 1132.342761] fasync_helper (fs/fcntl.c:698) [ 1132.342761] sock_fasync (net/socket.c:1211 (discriminator 7)) [ 1132.342761] SyS_fcntl (fs/fcntl.c:70 fs/fcntl.c:274 fs/fcntl.c:378 fs/fcntl.c:363) [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) [ 1132.342761] } [ 1132.342761] ... key at: __key.37041 (??:?) [ 1132.342761] ... acquired at: [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) [ 1132.342761] irq_work_run (kernel/irq_work.c:170) [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) [ 1132.342761] do_fork (kernel/fork.c:1671) [ 1132.342761] SyS_clone (kernel/fork.c:1733) [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) [ 1132.342761] [ 1132.342761] [ 1132.342761] stack backtrace: [ 1132.342761] CPU: 10 PID: 8521 Comm: trinity-main Not tainted 3.16.0-next-20140815-sasha-00034-g615561b #1071 [ 1132.342761] ffff88071c003cb0 ffff88071c003c48 ffffffffb24a9798 ffffffffb651ed80 [ 1132.342761] ffff88071c003c90 ffffffffaf1cb19b ffff880714273d20 ffffffffb3740742 [ 1132.342761] ffff880714273000 ffffffffb3740742 ffff880714273d20 0000000000000002 [ 1132.342761] Call Trace: [ 1132.342761] <IRQ> dump_stack (lib/dump_stack.c:52) [ 1132.342761] print_irq_inversion_bug (kernel/locking/lockdep.c:2339) [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) [ 1132.342761] ? print_irq_inversion_bug (kernel/locking/lockdep.c:2349) [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) [ 1132.342761] ? kvm_clock_read (./arch/x86/include/asm/preempt.h:90 arch/x86/kernel/kvmclock.c:86) [ 1132.342761] ? sched_clock (./arch/x86/include/asm/paravirt.h:192 arch/x86/kernel/tsc.c:304) [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) [ 1132.564837] FAULT_INJECTION: forcing a failure [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) [ 1132.342761] ? kill_fasync (fs/fcntl.c:731) [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) [ 1132.342761] ? perf_event_reset (kernel/events/core.c:4337) [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) [ 1132.342761] irq_work_run (kernel/irq_work.c:170) [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) [ 1132.342761] <EOI> ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/paravirt.h:809 include/linux/spinlock_api_smp.h:160 kernel/locking/spinlock.c:191) [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) [ 1132.342761] do_fork (kernel/fork.c:1671) [ 1132.342761] ? context_tracking_user_exit (./arch/x86/include/asm/paravirt.h:809 (discriminator 2) kernel/context_tracking.c:184 (discriminator 2)) [ 1132.342761] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63) [ 1132.342761] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2559 kernel/locking/lockdep.c:2601) [ 1132.342761] ? trace_hardirqs_on (kernel/locking/lockdep.c:2609) [ 1132.342761] SyS_clone (kernel/fork.c:1733) [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) [ 1132.342761] ? tracesys (arch/x86/kernel/entry_64.S:541) Thanks, Sash ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: fs: INFO: possible irq lock inversion dependency detected in kill_fasync 2014-08-19 0:24 fs: INFO: possible irq lock inversion dependency detected in kill_fasync Sasha Levin @ 2014-09-03 12:52 ` Sasha Levin 2014-09-18 20:17 ` Sasha Levin 0 siblings, 1 reply; 5+ messages in thread From: Sasha Levin @ 2014-09-03 12:52 UTC (permalink / raw) To: Al Viro; +Cc: linux-fsdevel, LKML, Dave Jones Ping? Still seeing it in -next. On 08/18/2014 08:24 PM, Sasha Levin wrote: > Hi all, > > While fuzzing with trinity inside a KVM tools guest running the latest -next > kernel, I've stumbled on the following spew: > > [ 1132.334973] ========================================================= > [ 1132.336095] [ INFO: possible irq lock inversion dependency detected ] > [ 1132.337056] 3.16.0-next-20140815-sasha-00034-g615561b #1071 Not tainted > [ 1132.337922] --------------------------------------------------------- > [ 1132.340751] trinity-main/8521 just changed the state of lock: > [ 1132.342015] (&(&new->fa_lock)->rlock){-.....}, at: kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] but this lock took another, HARDIRQ-unsafe lock in the past: > [ 1132.342761] (&(&p->alloc_lock)->rlock){+.+...} > > and interrupts could create inverse lock ordering between them. > > [ 1132.342761] > [ 1132.342761] other info that might help us debug this: > [ 1132.342761] Chain exists of: > &(&new->fa_lock)->rlock --> &f->f_owner.lock --> &(&p->alloc_lock)->rlock > [ 1132.334973] ========================================================= > [ 1132.336095] [ INFO: possible irq lock inversion dependency detected ] > [ 1132.337056] 3.16.0-next-20140815-sasha-00034-g615561b #1071 Not tainted > [ 1132.337922] --------------------------------------------------------- > [ 1132.340751] trinity-main/8521 just changed the state of lock: > [ 1132.342015] (&(&new->fa_lock)->rlock){-.....}, at: kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] but this lock took another, HARDIRQ-unsafe lock in the past: > [ 1132.342761] (&(&p->alloc_lock)->rlock){+.+...} > > and interrupts could create inverse lock ordering between them. > > [ 1132.342761] > [ 1132.342761] other info that might help us debug this: > [ 1132.342761] Chain exists of: > &(&new->fa_lock)->rlock --> &f->f_owner.lock --> &(&p->alloc_lock)->rlock > > [ 1132.342761] Possible interrupt unsafe locking scenario: > [ 1132.342761] > [ 1132.342761] CPU0 CPU1 > [ 1132.342761] ---- ---- > [ 1132.342761] lock(&(&p->alloc_lock)->rlock); > [ 1132.342761] local_irq_disable(); > [ 1132.342761] lock(&(&new->fa_lock)->rlock); > [ 1132.342761] lock(&f->f_owner.lock); > [ 1132.342761] <Interrupt> > [ 1132.342761] lock(&(&new->fa_lock)->rlock); > [ 1132.342761] > [ 1132.342761] *** DEADLOCK *** > [ 1132.342761] > [ 1132.342761] 1 lock held by trinity-main/8521: > [ 1132.342761] #0: (rcu_read_lock){......}, at: kill_fasync (fs/fcntl.c:731) > [ 1132.342761] > [ 1132.342761] the shortest dependencies between 2nd lock and 1st lock: > [ 1132.342761] -> (&(&p->alloc_lock)->rlock){+.+...} ops: 737341 { > [ 1132.342761] HARDIRQ-ON-W at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2802 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > [ 1132.342761] kthreadd (kernel/kthread.c:489) > [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > [ 1132.342761] SOFTIRQ-ON-W at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > [ 1132.342761] kthreadd (kernel/kthread.c:489) > [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > [ 1132.342761] INITIAL USE at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > [ 1132.342761] kthreadd (kernel/kthread.c:489) > [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > [ 1132.342761] } > [ 1132.342761] ... key at: __key.51842 (??:?) > [ 1132.342761] ... acquired at: > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > [ 1132.342761] do_prlimit (kernel/sys.c:1386) > [ 1132.342761] SyS_getrlimit (kernel/sys.c:1276 kernel/sys.c:1270) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] > [ 1132.342761] -> (tasklist_lock){.+.+..} ops: 42693178 { > [ 1132.342761] HARDIRQ-ON-R at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) > [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) > [ 1132.342761] wait_for_helper (kernel/kmod.c:310) > [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > [ 1132.342761] SOFTIRQ-ON-R at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) > [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) > [ 1132.342761] wait_for_helper (kernel/kmod.c:310) > [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > [ 1132.342761] INITIAL USE at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_write_lock_irq (include/linux/rwlock_api_smp.h:197 kernel/locking/spinlock.c:311) > [ 1132.342761] copy_process (./arch/x86/include/asm/current.h:14 kernel/fork.c:1465) > [ 1132.342761] do_fork (kernel/fork.c:1644) > [ 1132.342761] kernel_thread (kernel/fork.c:1693) > [ 1132.342761] rest_init (init/main.c:404) > [ 1132.342761] start_kernel (init/main.c:682) > [ 1132.342761] x86_64_start_reservations (arch/x86/kernel/head64.c:194) > [ 1132.342761] x86_64_start_kernel (arch/x86/kernel/head64.c:183) > [ 1132.342761] } > [ 1132.342761] ... key at: tasklist_lock (??:?) > [ 1132.342761] ... acquired at: > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] send_sigio (fs/fcntl.c:517) > [ 1132.342761] dnotify_handle_event (fs/notify/dnotify/dnotify.c:114) > [ 1132.342761] send_to_group (fs/notify/fsnotify.c:183) > [ 1132.342761] fsnotify (fs/notify/fsnotify.c:249) > [ 1132.342761] notify_change (fs/attr.c:272) > [ 1132.342761] chown_common (fs/open.c:581) > [ 1132.342761] SyS_fchown (fs/open.c:647 fs/open.c:634) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] > [ 1132.342761] -> (&f->f_owner.lock){.+.+..} ops: 5967 { > [ 1132.342761] HARDIRQ-ON-R at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] SOFTIRQ-ON-R at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] INITIAL USE at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] } > [ 1132.342761] ... key at: __key.31497 (??:?) > [ 1132.342761] ... acquired at: > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] send_sigio (fs/fcntl.c:506) > [ 1132.342761] kill_fasync (include/linux/spinlock.h:364 fs/fcntl.c:725 fs/fcntl.c:737) > [ 1132.342761] wakeup_pipe_writers (fs/splice.c:727) > [ 1132.342761] iter_file_splice_write (fs/splice.c:861 fs/splice.c:1054) > [ 1132.342761] SyS_splice (fs/splice.c:1128 fs/splice.c:1393 fs/splice.c:1701 fs/splice.c:1684) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] > [ 1132.342761] -> (&(&new->fa_lock)->rlock){-.....} ops: 4993 { > [ 1132.342761] IN-HARDIRQ-W at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > [ 1132.342761] do_fork (kernel/fork.c:1671) > [ 1132.342761] SyS_clone (kernel/fork.c:1733) > [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > [ 1132.342761] INITIAL USE at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock_irq (include/linux/spinlock_api_smp.h:129 kernel/locking/spinlock.c:167) > [ 1132.342761] fasync_remove_entry (include/linux/spinlock.h:359 fs/fcntl.c:595) > [ 1132.342761] fasync_helper (fs/fcntl.c:698) > [ 1132.342761] sock_fasync (net/socket.c:1211 (discriminator 7)) > [ 1132.342761] SyS_fcntl (fs/fcntl.c:70 fs/fcntl.c:274 fs/fcntl.c:378 fs/fcntl.c:363) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] } > [ 1132.342761] ... key at: __key.37041 (??:?) > [ 1132.342761] ... acquired at: > [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) > [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > [ 1132.342761] do_fork (kernel/fork.c:1671) > [ 1132.342761] SyS_clone (kernel/fork.c:1733) > [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > [ 1132.342761] > [ 1132.342761] > [ 1132.342761] stack backtrace: > [ 1132.342761] CPU: 10 PID: 8521 Comm: trinity-main Not tainted 3.16.0-next-20140815-sasha-00034-g615561b #1071 > [ 1132.342761] ffff88071c003cb0 ffff88071c003c48 ffffffffb24a9798 ffffffffb651ed80 > [ 1132.342761] ffff88071c003c90 ffffffffaf1cb19b ffff880714273d20 ffffffffb3740742 > [ 1132.342761] ffff880714273000 ffffffffb3740742 ffff880714273d20 0000000000000002 > [ 1132.342761] Call Trace: > [ 1132.342761] <IRQ> dump_stack (lib/dump_stack.c:52) > [ 1132.342761] print_irq_inversion_bug (kernel/locking/lockdep.c:2339) > [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) > [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) > [ 1132.342761] ? print_irq_inversion_bug (kernel/locking/lockdep.c:2349) > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > [ 1132.342761] ? kvm_clock_read (./arch/x86/include/asm/preempt.h:90 arch/x86/kernel/kvmclock.c:86) > [ 1132.342761] ? sched_clock (./arch/x86/include/asm/paravirt.h:192 arch/x86/kernel/tsc.c:304) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.564837] FAULT_INJECTION: forcing a failure > [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] ? kill_fasync (fs/fcntl.c:731) > [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > [ 1132.342761] ? perf_event_reset (kernel/events/core.c:4337) > [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > [ 1132.342761] <EOI> ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/paravirt.h:809 include/linux/spinlock_api_smp.h:160 kernel/locking/spinlock.c:191) > [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > [ 1132.342761] do_fork (kernel/fork.c:1671) > [ 1132.342761] ? context_tracking_user_exit (./arch/x86/include/asm/paravirt.h:809 (discriminator 2) kernel/context_tracking.c:184 (discriminator 2)) > [ 1132.342761] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63) > [ 1132.342761] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2559 kernel/locking/lockdep.c:2601) > [ 1132.342761] ? trace_hardirqs_on (kernel/locking/lockdep.c:2609) > [ 1132.342761] SyS_clone (kernel/fork.c:1733) > [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > [ 1132.342761] ? tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] Possible interrupt unsafe locking scenario: > [ 1132.342761] > [ 1132.342761] CPU0 CPU1 > [ 1132.342761] ---- ---- > [ 1132.342761] lock(&(&p->alloc_lock)->rlock); > [ 1132.342761] local_irq_disable(); > [ 1132.342761] lock(&(&new->fa_lock)->rlock); > [ 1132.342761] lock(&f->f_owner.lock); > [ 1132.342761] <Interrupt> > [ 1132.342761] lock(&(&new->fa_lock)->rlock); > [ 1132.342761] > [ 1132.342761] *** DEADLOCK *** > [ 1132.342761] > [ 1132.342761] 1 lock held by trinity-main/8521: > [ 1132.342761] #0: (rcu_read_lock){......}, at: kill_fasync (fs/fcntl.c:731) > [ 1132.342761] > [ 1132.342761] the shortest dependencies between 2nd lock and 1st lock: > [ 1132.342761] -> (&(&p->alloc_lock)->rlock){+.+...} ops: 737341 { > [ 1132.342761] HARDIRQ-ON-W at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2802 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > [ 1132.342761] kthreadd (kernel/kthread.c:489) > [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > [ 1132.342761] SOFTIRQ-ON-W at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > [ 1132.342761] kthreadd (kernel/kthread.c:489) > [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > [ 1132.342761] INITIAL USE at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > [ 1132.342761] kthreadd (kernel/kthread.c:489) > [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > [ 1132.342761] } > [ 1132.342761] ... key at: __key.51842 (??:?) > [ 1132.342761] ... acquired at: > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > [ 1132.342761] do_prlimit (kernel/sys.c:1386) > [ 1132.342761] SyS_getrlimit (kernel/sys.c:1276 kernel/sys.c:1270) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] > [ 1132.342761] -> (tasklist_lock){.+.+..} ops: 42693178 { > [ 1132.342761] HARDIRQ-ON-R at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) > [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) > [ 1132.342761] wait_for_helper (kernel/kmod.c:310) > [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > [ 1132.342761] SOFTIRQ-ON-R at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) > [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) > [ 1132.342761] wait_for_helper (kernel/kmod.c:310) > [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > [ 1132.342761] INITIAL USE at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_write_lock_irq (include/linux/rwlock_api_smp.h:197 kernel/locking/spinlock.c:311) > [ 1132.342761] copy_process (./arch/x86/include/asm/current.h:14 kernel/fork.c:1465) > [ 1132.342761] do_fork (kernel/fork.c:1644) > [ 1132.342761] kernel_thread (kernel/fork.c:1693) > [ 1132.342761] rest_init (init/main.c:404) > [ 1132.342761] start_kernel (init/main.c:682) > [ 1132.342761] x86_64_start_reservations (arch/x86/kernel/head64.c:194) > [ 1132.342761] x86_64_start_kernel (arch/x86/kernel/head64.c:183) > [ 1132.342761] } > [ 1132.342761] ... key at: tasklist_lock (??:?) > [ 1132.342761] ... acquired at: > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] send_sigio (fs/fcntl.c:517) > [ 1132.342761] dnotify_handle_event (fs/notify/dnotify/dnotify.c:114) > [ 1132.342761] send_to_group (fs/notify/fsnotify.c:183) > [ 1132.342761] fsnotify (fs/notify/fsnotify.c:249) > [ 1132.342761] notify_change (fs/attr.c:272) > [ 1132.342761] chown_common (fs/open.c:581) > [ 1132.342761] SyS_fchown (fs/open.c:647 fs/open.c:634) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] > [ 1132.342761] -> (&f->f_owner.lock){.+.+..} ops: 5967 { > [ 1132.342761] HARDIRQ-ON-R at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] SOFTIRQ-ON-R at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] INITIAL USE at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] } > [ 1132.342761] ... key at: __key.31497 (??:?) > [ 1132.342761] ... acquired at: > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > [ 1132.342761] send_sigio (fs/fcntl.c:506) > [ 1132.342761] kill_fasync (include/linux/spinlock.h:364 fs/fcntl.c:725 fs/fcntl.c:737) > [ 1132.342761] wakeup_pipe_writers (fs/splice.c:727) > [ 1132.342761] iter_file_splice_write (fs/splice.c:861 fs/splice.c:1054) > [ 1132.342761] SyS_splice (fs/splice.c:1128 fs/splice.c:1393 fs/splice.c:1701 fs/splice.c:1684) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] > [ 1132.342761] -> (&(&new->fa_lock)->rlock){-.....} ops: 4993 { > [ 1132.342761] IN-HARDIRQ-W at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > [ 1132.342761] do_fork (kernel/fork.c:1671) > [ 1132.342761] SyS_clone (kernel/fork.c:1733) > [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > [ 1132.342761] INITIAL USE at: > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock_irq (include/linux/spinlock_api_smp.h:129 kernel/locking/spinlock.c:167) > [ 1132.342761] fasync_remove_entry (include/linux/spinlock.h:359 fs/fcntl.c:595) > [ 1132.342761] fasync_helper (fs/fcntl.c:698) > [ 1132.342761] sock_fasync (net/socket.c:1211 (discriminator 7)) > [ 1132.342761] SyS_fcntl (fs/fcntl.c:70 fs/fcntl.c:274 fs/fcntl.c:378 fs/fcntl.c:363) > [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > [ 1132.342761] } > [ 1132.342761] ... key at: __key.37041 (??:?) > [ 1132.342761] ... acquired at: > [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) > [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > [ 1132.342761] do_fork (kernel/fork.c:1671) > [ 1132.342761] SyS_clone (kernel/fork.c:1733) > [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > [ 1132.342761] > [ 1132.342761] > [ 1132.342761] stack backtrace: > [ 1132.342761] CPU: 10 PID: 8521 Comm: trinity-main Not tainted 3.16.0-next-20140815-sasha-00034-g615561b #1071 > [ 1132.342761] ffff88071c003cb0 ffff88071c003c48 ffffffffb24a9798 ffffffffb651ed80 > [ 1132.342761] ffff88071c003c90 ffffffffaf1cb19b ffff880714273d20 ffffffffb3740742 > [ 1132.342761] ffff880714273000 ffffffffb3740742 ffff880714273d20 0000000000000002 > [ 1132.342761] Call Trace: > [ 1132.342761] <IRQ> dump_stack (lib/dump_stack.c:52) > [ 1132.342761] print_irq_inversion_bug (kernel/locking/lockdep.c:2339) > [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) > [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) > [ 1132.342761] ? print_irq_inversion_bug (kernel/locking/lockdep.c:2349) > [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > [ 1132.342761] ? kvm_clock_read (./arch/x86/include/asm/preempt.h:90 arch/x86/kernel/kvmclock.c:86) > [ 1132.342761] ? sched_clock (./arch/x86/include/asm/paravirt.h:192 arch/x86/kernel/tsc.c:304) > [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > [ 1132.564837] FAULT_INJECTION: forcing a failure > [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > [ 1132.342761] ? kill_fasync (fs/fcntl.c:731) > [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > [ 1132.342761] ? perf_event_reset (kernel/events/core.c:4337) > [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > [ 1132.342761] <EOI> ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/paravirt.h:809 include/linux/spinlock_api_smp.h:160 kernel/locking/spinlock.c:191) > [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > [ 1132.342761] do_fork (kernel/fork.c:1671) > [ 1132.342761] ? context_tracking_user_exit (./arch/x86/include/asm/paravirt.h:809 (discriminator 2) kernel/context_tracking.c:184 (discriminator 2)) > [ 1132.342761] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63) > [ 1132.342761] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2559 kernel/locking/lockdep.c:2601) > [ 1132.342761] ? trace_hardirqs_on (kernel/locking/lockdep.c:2609) > [ 1132.342761] SyS_clone (kernel/fork.c:1733) > [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > [ 1132.342761] ? tracesys (arch/x86/kernel/entry_64.S:541) > > > Thanks, > Sash > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: fs: INFO: possible irq lock inversion dependency detected in kill_fasync 2014-09-03 12:52 ` Sasha Levin @ 2014-09-18 20:17 ` Sasha Levin 2014-09-22 11:02 ` Borislav Petkov 0 siblings, 1 reply; 5+ messages in thread From: Sasha Levin @ 2014-09-18 20:17 UTC (permalink / raw) To: Al Viro; +Cc: linux-fsdevel, LKML, Dave Jones Ping? On 09/03/2014 08:52 AM, Sasha Levin wrote: > Ping? Still seeing it in -next. > > On 08/18/2014 08:24 PM, Sasha Levin wrote: >> Hi all, >> >> While fuzzing with trinity inside a KVM tools guest running the latest -next >> kernel, I've stumbled on the following spew: >> >> [ 1132.334973] ========================================================= >> [ 1132.336095] [ INFO: possible irq lock inversion dependency detected ] >> [ 1132.337056] 3.16.0-next-20140815-sasha-00034-g615561b #1071 Not tainted >> [ 1132.337922] --------------------------------------------------------- >> [ 1132.340751] trinity-main/8521 just changed the state of lock: >> [ 1132.342015] (&(&new->fa_lock)->rlock){-.....}, at: kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] but this lock took another, HARDIRQ-unsafe lock in the past: >> [ 1132.342761] (&(&p->alloc_lock)->rlock){+.+...} >> >> and interrupts could create inverse lock ordering between them. >> >> [ 1132.342761] >> [ 1132.342761] other info that might help us debug this: >> [ 1132.342761] Chain exists of: >> &(&new->fa_lock)->rlock --> &f->f_owner.lock --> &(&p->alloc_lock)->rlock >> [ 1132.334973] ========================================================= >> [ 1132.336095] [ INFO: possible irq lock inversion dependency detected ] >> [ 1132.337056] 3.16.0-next-20140815-sasha-00034-g615561b #1071 Not tainted >> [ 1132.337922] --------------------------------------------------------- >> [ 1132.340751] trinity-main/8521 just changed the state of lock: >> [ 1132.342015] (&(&new->fa_lock)->rlock){-.....}, at: kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] but this lock took another, HARDIRQ-unsafe lock in the past: >> [ 1132.342761] (&(&p->alloc_lock)->rlock){+.+...} >> >> and interrupts could create inverse lock ordering between them. >> >> [ 1132.342761] >> [ 1132.342761] other info that might help us debug this: >> [ 1132.342761] Chain exists of: >> &(&new->fa_lock)->rlock --> &f->f_owner.lock --> &(&p->alloc_lock)->rlock >> >> [ 1132.342761] Possible interrupt unsafe locking scenario: >> [ 1132.342761] >> [ 1132.342761] CPU0 CPU1 >> [ 1132.342761] ---- ---- >> [ 1132.342761] lock(&(&p->alloc_lock)->rlock); >> [ 1132.342761] local_irq_disable(); >> [ 1132.342761] lock(&(&new->fa_lock)->rlock); >> [ 1132.342761] lock(&f->f_owner.lock); >> [ 1132.342761] <Interrupt> >> [ 1132.342761] lock(&(&new->fa_lock)->rlock); >> [ 1132.342761] >> [ 1132.342761] *** DEADLOCK *** >> [ 1132.342761] >> [ 1132.342761] 1 lock held by trinity-main/8521: >> [ 1132.342761] #0: (rcu_read_lock){......}, at: kill_fasync (fs/fcntl.c:731) >> [ 1132.342761] >> [ 1132.342761] the shortest dependencies between 2nd lock and 1st lock: >> [ 1132.342761] -> (&(&p->alloc_lock)->rlock){+.+...} ops: 737341 { >> [ 1132.342761] HARDIRQ-ON-W at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2802 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) >> [ 1132.342761] kthreadd (kernel/kthread.c:489) >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) >> [ 1132.342761] SOFTIRQ-ON-W at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) >> [ 1132.342761] kthreadd (kernel/kthread.c:489) >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) >> [ 1132.342761] INITIAL USE at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) >> [ 1132.342761] kthreadd (kernel/kthread.c:489) >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) >> [ 1132.342761] } >> [ 1132.342761] ... key at: __key.51842 (??:?) >> [ 1132.342761] ... acquired at: >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) >> [ 1132.342761] do_prlimit (kernel/sys.c:1386) >> [ 1132.342761] SyS_getrlimit (kernel/sys.c:1276 kernel/sys.c:1270) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] >> [ 1132.342761] -> (tasklist_lock){.+.+..} ops: 42693178 { >> [ 1132.342761] HARDIRQ-ON-R at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) >> [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) >> [ 1132.342761] wait_for_helper (kernel/kmod.c:310) >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) >> [ 1132.342761] SOFTIRQ-ON-R at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) >> [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) >> [ 1132.342761] wait_for_helper (kernel/kmod.c:310) >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) >> [ 1132.342761] INITIAL USE at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_write_lock_irq (include/linux/rwlock_api_smp.h:197 kernel/locking/spinlock.c:311) >> [ 1132.342761] copy_process (./arch/x86/include/asm/current.h:14 kernel/fork.c:1465) >> [ 1132.342761] do_fork (kernel/fork.c:1644) >> [ 1132.342761] kernel_thread (kernel/fork.c:1693) >> [ 1132.342761] rest_init (init/main.c:404) >> [ 1132.342761] start_kernel (init/main.c:682) >> [ 1132.342761] x86_64_start_reservations (arch/x86/kernel/head64.c:194) >> [ 1132.342761] x86_64_start_kernel (arch/x86/kernel/head64.c:183) >> [ 1132.342761] } >> [ 1132.342761] ... key at: tasklist_lock (??:?) >> [ 1132.342761] ... acquired at: >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] send_sigio (fs/fcntl.c:517) >> [ 1132.342761] dnotify_handle_event (fs/notify/dnotify/dnotify.c:114) >> [ 1132.342761] send_to_group (fs/notify/fsnotify.c:183) >> [ 1132.342761] fsnotify (fs/notify/fsnotify.c:249) >> [ 1132.342761] notify_change (fs/attr.c:272) >> [ 1132.342761] chown_common (fs/open.c:581) >> [ 1132.342761] SyS_fchown (fs/open.c:647 fs/open.c:634) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] >> [ 1132.342761] -> (&f->f_owner.lock){.+.+..} ops: 5967 { >> [ 1132.342761] HARDIRQ-ON-R at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] SOFTIRQ-ON-R at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] INITIAL USE at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] } >> [ 1132.342761] ... key at: __key.31497 (??:?) >> [ 1132.342761] ... acquired at: >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] send_sigio (fs/fcntl.c:506) >> [ 1132.342761] kill_fasync (include/linux/spinlock.h:364 fs/fcntl.c:725 fs/fcntl.c:737) >> [ 1132.342761] wakeup_pipe_writers (fs/splice.c:727) >> [ 1132.342761] iter_file_splice_write (fs/splice.c:861 fs/splice.c:1054) >> [ 1132.342761] SyS_splice (fs/splice.c:1128 fs/splice.c:1393 fs/splice.c:1701 fs/splice.c:1684) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] >> [ 1132.342761] -> (&(&new->fa_lock)->rlock){-.....} ops: 4993 { >> [ 1132.342761] IN-HARDIRQ-W at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) >> [ 1132.342761] do_fork (kernel/fork.c:1671) >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) >> [ 1132.342761] INITIAL USE at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock_irq (include/linux/spinlock_api_smp.h:129 kernel/locking/spinlock.c:167) >> [ 1132.342761] fasync_remove_entry (include/linux/spinlock.h:359 fs/fcntl.c:595) >> [ 1132.342761] fasync_helper (fs/fcntl.c:698) >> [ 1132.342761] sock_fasync (net/socket.c:1211 (discriminator 7)) >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:70 fs/fcntl.c:274 fs/fcntl.c:378 fs/fcntl.c:363) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] } >> [ 1132.342761] ... key at: __key.37041 (??:?) >> [ 1132.342761] ... acquired at: >> [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) >> [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) >> [ 1132.342761] do_fork (kernel/fork.c:1671) >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) >> [ 1132.342761] >> [ 1132.342761] >> [ 1132.342761] stack backtrace: >> [ 1132.342761] CPU: 10 PID: 8521 Comm: trinity-main Not tainted 3.16.0-next-20140815-sasha-00034-g615561b #1071 >> [ 1132.342761] ffff88071c003cb0 ffff88071c003c48 ffffffffb24a9798 ffffffffb651ed80 >> [ 1132.342761] ffff88071c003c90 ffffffffaf1cb19b ffff880714273d20 ffffffffb3740742 >> [ 1132.342761] ffff880714273000 ffffffffb3740742 ffff880714273d20 0000000000000002 >> [ 1132.342761] Call Trace: >> [ 1132.342761] <IRQ> dump_stack (lib/dump_stack.c:52) >> [ 1132.342761] print_irq_inversion_bug (kernel/locking/lockdep.c:2339) >> [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) >> [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) >> [ 1132.342761] ? print_irq_inversion_bug (kernel/locking/lockdep.c:2349) >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) >> [ 1132.342761] ? kvm_clock_read (./arch/x86/include/asm/preempt.h:90 arch/x86/kernel/kvmclock.c:86) >> [ 1132.342761] ? sched_clock (./arch/x86/include/asm/paravirt.h:192 arch/x86/kernel/tsc.c:304) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.564837] FAULT_INJECTION: forcing a failure >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:731) >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) >> [ 1132.342761] ? perf_event_reset (kernel/events/core.c:4337) >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) >> [ 1132.342761] <EOI> ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/paravirt.h:809 include/linux/spinlock_api_smp.h:160 kernel/locking/spinlock.c:191) >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) >> [ 1132.342761] do_fork (kernel/fork.c:1671) >> [ 1132.342761] ? context_tracking_user_exit (./arch/x86/include/asm/paravirt.h:809 (discriminator 2) kernel/context_tracking.c:184 (discriminator 2)) >> [ 1132.342761] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63) >> [ 1132.342761] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2559 kernel/locking/lockdep.c:2601) >> [ 1132.342761] ? trace_hardirqs_on (kernel/locking/lockdep.c:2609) >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) >> [ 1132.342761] ? tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] Possible interrupt unsafe locking scenario: >> [ 1132.342761] >> [ 1132.342761] CPU0 CPU1 >> [ 1132.342761] ---- ---- >> [ 1132.342761] lock(&(&p->alloc_lock)->rlock); >> [ 1132.342761] local_irq_disable(); >> [ 1132.342761] lock(&(&new->fa_lock)->rlock); >> [ 1132.342761] lock(&f->f_owner.lock); >> [ 1132.342761] <Interrupt> >> [ 1132.342761] lock(&(&new->fa_lock)->rlock); >> [ 1132.342761] >> [ 1132.342761] *** DEADLOCK *** >> [ 1132.342761] >> [ 1132.342761] 1 lock held by trinity-main/8521: >> [ 1132.342761] #0: (rcu_read_lock){......}, at: kill_fasync (fs/fcntl.c:731) >> [ 1132.342761] >> [ 1132.342761] the shortest dependencies between 2nd lock and 1st lock: >> [ 1132.342761] -> (&(&p->alloc_lock)->rlock){+.+...} ops: 737341 { >> [ 1132.342761] HARDIRQ-ON-W at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2802 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) >> [ 1132.342761] kthreadd (kernel/kthread.c:489) >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) >> [ 1132.342761] SOFTIRQ-ON-W at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) >> [ 1132.342761] kthreadd (kernel/kthread.c:489) >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) >> [ 1132.342761] INITIAL USE at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) >> [ 1132.342761] kthreadd (kernel/kthread.c:489) >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) >> [ 1132.342761] } >> [ 1132.342761] ... key at: __key.51842 (??:?) >> [ 1132.342761] ... acquired at: >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) >> [ 1132.342761] do_prlimit (kernel/sys.c:1386) >> [ 1132.342761] SyS_getrlimit (kernel/sys.c:1276 kernel/sys.c:1270) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] >> [ 1132.342761] -> (tasklist_lock){.+.+..} ops: 42693178 { >> [ 1132.342761] HARDIRQ-ON-R at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) >> [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) >> [ 1132.342761] wait_for_helper (kernel/kmod.c:310) >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) >> [ 1132.342761] SOFTIRQ-ON-R at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) >> [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) >> [ 1132.342761] wait_for_helper (kernel/kmod.c:310) >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) >> [ 1132.342761] INITIAL USE at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_write_lock_irq (include/linux/rwlock_api_smp.h:197 kernel/locking/spinlock.c:311) >> [ 1132.342761] copy_process (./arch/x86/include/asm/current.h:14 kernel/fork.c:1465) >> [ 1132.342761] do_fork (kernel/fork.c:1644) >> [ 1132.342761] kernel_thread (kernel/fork.c:1693) >> [ 1132.342761] rest_init (init/main.c:404) >> [ 1132.342761] start_kernel (init/main.c:682) >> [ 1132.342761] x86_64_start_reservations (arch/x86/kernel/head64.c:194) >> [ 1132.342761] x86_64_start_kernel (arch/x86/kernel/head64.c:183) >> [ 1132.342761] } >> [ 1132.342761] ... key at: tasklist_lock (??:?) >> [ 1132.342761] ... acquired at: >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] send_sigio (fs/fcntl.c:517) >> [ 1132.342761] dnotify_handle_event (fs/notify/dnotify/dnotify.c:114) >> [ 1132.342761] send_to_group (fs/notify/fsnotify.c:183) >> [ 1132.342761] fsnotify (fs/notify/fsnotify.c:249) >> [ 1132.342761] notify_change (fs/attr.c:272) >> [ 1132.342761] chown_common (fs/open.c:581) >> [ 1132.342761] SyS_fchown (fs/open.c:647 fs/open.c:634) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] >> [ 1132.342761] -> (&f->f_owner.lock){.+.+..} ops: 5967 { >> [ 1132.342761] HARDIRQ-ON-R at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] SOFTIRQ-ON-R at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] INITIAL USE at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] } >> [ 1132.342761] ... key at: __key.31497 (??:?) >> [ 1132.342761] ... acquired at: >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) >> [ 1132.342761] send_sigio (fs/fcntl.c:506) >> [ 1132.342761] kill_fasync (include/linux/spinlock.h:364 fs/fcntl.c:725 fs/fcntl.c:737) >> [ 1132.342761] wakeup_pipe_writers (fs/splice.c:727) >> [ 1132.342761] iter_file_splice_write (fs/splice.c:861 fs/splice.c:1054) >> [ 1132.342761] SyS_splice (fs/splice.c:1128 fs/splice.c:1393 fs/splice.c:1701 fs/splice.c:1684) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] >> [ 1132.342761] -> (&(&new->fa_lock)->rlock){-.....} ops: 4993 { >> [ 1132.342761] IN-HARDIRQ-W at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) >> [ 1132.342761] do_fork (kernel/fork.c:1671) >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) >> [ 1132.342761] INITIAL USE at: >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock_irq (include/linux/spinlock_api_smp.h:129 kernel/locking/spinlock.c:167) >> [ 1132.342761] fasync_remove_entry (include/linux/spinlock.h:359 fs/fcntl.c:595) >> [ 1132.342761] fasync_helper (fs/fcntl.c:698) >> [ 1132.342761] sock_fasync (net/socket.c:1211 (discriminator 7)) >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:70 fs/fcntl.c:274 fs/fcntl.c:378 fs/fcntl.c:363) >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) >> [ 1132.342761] } >> [ 1132.342761] ... key at: __key.37041 (??:?) >> [ 1132.342761] ... acquired at: >> [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) >> [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) >> [ 1132.342761] do_fork (kernel/fork.c:1671) >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) >> [ 1132.342761] >> [ 1132.342761] >> [ 1132.342761] stack backtrace: >> [ 1132.342761] CPU: 10 PID: 8521 Comm: trinity-main Not tainted 3.16.0-next-20140815-sasha-00034-g615561b #1071 >> [ 1132.342761] ffff88071c003cb0 ffff88071c003c48 ffffffffb24a9798 ffffffffb651ed80 >> [ 1132.342761] ffff88071c003c90 ffffffffaf1cb19b ffff880714273d20 ffffffffb3740742 >> [ 1132.342761] ffff880714273000 ffffffffb3740742 ffff880714273d20 0000000000000002 >> [ 1132.342761] Call Trace: >> [ 1132.342761] <IRQ> dump_stack (lib/dump_stack.c:52) >> [ 1132.342761] print_irq_inversion_bug (kernel/locking/lockdep.c:2339) >> [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) >> [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) >> [ 1132.342761] ? print_irq_inversion_bug (kernel/locking/lockdep.c:2349) >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) >> [ 1132.342761] ? kvm_clock_read (./arch/x86/include/asm/preempt.h:90 arch/x86/kernel/kvmclock.c:86) >> [ 1132.342761] ? sched_clock (./arch/x86/include/asm/paravirt.h:192 arch/x86/kernel/tsc.c:304) >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) >> [ 1132.564837] FAULT_INJECTION: forcing a failure >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:731) >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) >> [ 1132.342761] ? perf_event_reset (kernel/events/core.c:4337) >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) >> [ 1132.342761] <EOI> ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/paravirt.h:809 include/linux/spinlock_api_smp.h:160 kernel/locking/spinlock.c:191) >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) >> [ 1132.342761] do_fork (kernel/fork.c:1671) >> [ 1132.342761] ? context_tracking_user_exit (./arch/x86/include/asm/paravirt.h:809 (discriminator 2) kernel/context_tracking.c:184 (discriminator 2)) >> [ 1132.342761] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63) >> [ 1132.342761] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2559 kernel/locking/lockdep.c:2601) >> [ 1132.342761] ? trace_hardirqs_on (kernel/locking/lockdep.c:2609) >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) >> [ 1132.342761] ? tracesys (arch/x86/kernel/entry_64.S:541) >> >> >> Thanks, >> Sash >> > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: fs: INFO: possible irq lock inversion dependency detected in kill_fasync 2014-09-18 20:17 ` Sasha Levin @ 2014-09-22 11:02 ` Borislav Petkov 2014-09-22 12:40 ` Kari Suvanto 0 siblings, 1 reply; 5+ messages in thread From: Borislav Petkov @ 2014-09-22 11:02 UTC (permalink / raw) To: Sasha Levin Cc: Al Viro, linux-fsdevel, LKML, Dave Jones, x86-ml, Peter Zijlstra On Thu, Sep 18, 2014 at 04:17:28PM -0400, Sasha Levin wrote: > Ping? > > On 09/03/2014 08:52 AM, Sasha Levin wrote: > > Ping? Still seeing it in -next. > > > > On 08/18/2014 08:24 PM, Sasha Levin wrote: > >> Hi all, > >> > >> While fuzzing with trinity inside a KVM tools guest running the latest -next > >> kernel, I've stumbled on the following spew: I get a similar splat with rc5+ + tip/master during simple boot. Adding more people to CC and leaving in the rest for reference. [ 13.627241] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 17.598601] sha256_ssse3: Using AVX optimized SHA-256 implementation [ 36.527009] ip_tables: (C) 2000-2006 Netfilter Core Team [ 54.867814] tun: Universal TUN/TAP device driver, 1.6 [ 54.872924] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> [ 646.712953] [ 646.714454] ========================================================= [ 646.720887] [ INFO: possible irq lock inversion dependency detected ] [ 646.727326] 3.17.0-rc5+ #1 Not tainted [ 646.731076] --------------------------------------------------------- [ 646.737511] swapper/6/0 just changed the state of lock: [ 646.742733] (tasklist_lock){.?.+..}, at: [<ffffffff811894eb>] send_sigio+0x5b/0x1b0 [ 646.750539] but this lock took another, HARDIRQ-unsafe lock in the past: [ 646.757233] (&(&p->alloc_lock)->rlock){+.+...} [ 646.757233] [ 646.757233] and interrupts could create inverse lock ordering between them. [ 646.757233] [ 646.767783] [ 646.767783] other info that might help us debug this: [ 646.774306] Possible interrupt unsafe locking scenario: [ 646.774306] [ 646.781088] CPU0 CPU1 [ 646.785619] ---- ---- [ 646.790147] lock(&(&p->alloc_lock)->rlock); [ 646.794550] local_irq_disable(); [ 646.800465] lock(tasklist_lock); [ 646.806406] lock(&(&p->alloc_lock)->rlock); [ 646.813302] <Interrupt> [ 646.815926] lock(tasklist_lock); [ 646.819530] [ 646.819530] *** DEADLOCK *** [ 646.819530] [ 646.825447] 7 locks held by swapper/6/0: [ 646.829369] #0: (&(&dev->event_lock)->rlock){-.....}, at: [<ffffffff8149959d>] input_event+0x4d/0x90 [ 646.838752] #1: (rcu_read_lock){......}, at: [<ffffffff814986f5>] input_pass_values.part.3+0x5/0x360 [ 646.848175] #2: (rcu_read_lock){......}, at: [<ffffffff8149e995>] evdev_events+0x5/0x2d0 [ 646.856524] #3: (&(&client->buffer_lock)->rlock){-.....}, at: [<ffffffff8149db3c>] evdev_pass_values+0x5c/0x1c0 [ 646.866868] #4: (rcu_read_lock){......}, at: [<ffffffff8118964f>] kill_fasync+0xf/0x290 [ 646.875140] #5: (&(&new->fa_lock)->rlock){-.....}, at: [<ffffffff811896d6>] kill_fasync+0x96/0x290 [ 646.884365] #6: (&f->f_owner.lock){.-....}, at: [<ffffffff811894b4>] send_sigio+0x24/0x1b0 [ 646.892889] [ 646.892889] the shortest dependencies between 2nd lock and 1st lock: [ 646.900758] -> (&(&p->alloc_lock)->rlock){+.+...} ops: 46581 { [ 646.906773] HARDIRQ-ON-W at: [ 646.910013] [<ffffffff81099dc3>] __lock_acquire+0x973/0x23e0 [ 646.917602] [<ffffffff8109c02e>] lock_acquire+0xbe/0x230 [ 646.924842] [<ffffffff8162cbb1>] _raw_spin_lock+0x41/0x80 [ 646.932169] [<ffffffff8117da99>] __set_task_comm+0x39/0x180 [ 646.939664] [<ffffffff810732d5>] kthreadd+0x45/0x150 [ 646.946556] [<ffffffff8162de6c>] ret_from_fork+0x7c/0xb0 [ 646.953790] SOFTIRQ-ON-W at: [ 646.957037] [<ffffffff81099dfb>] __lock_acquire+0x9ab/0x23e0 [ 646.964618] [<ffffffff8109c02e>] lock_acquire+0xbe/0x230 [ 646.971859] [<ffffffff8162cbb1>] _raw_spin_lock+0x41/0x80 [ 646.979188] [<ffffffff8117da99>] __set_task_comm+0x39/0x180 [ 646.986688] [<ffffffff810732d5>] kthreadd+0x45/0x150 [ 646.993583] [<ffffffff8162de6c>] ret_from_fork+0x7c/0xb0 [ 647.000824] INITIAL USE at: [ 647.003987] [<ffffffff81099879>] __lock_acquire+0x429/0x23e0 [ 647.011487] [<ffffffff8109c02e>] lock_acquire+0xbe/0x230 [ 647.018634] [<ffffffff8162cbb1>] _raw_spin_lock+0x41/0x80 [ 647.025875] [<ffffffff8117da99>] __set_task_comm+0x39/0x180 [ 647.033290] [<ffffffff810732d5>] kthreadd+0x45/0x150 [ 647.040097] [<ffffffff8162de6c>] ret_from_fork+0x7c/0xb0 [ 647.047244] } [ 647.049003] ... key at: [<ffffffff81cc99b8>] __key.47962+0x0/0x8 [ 647.055638] ... acquired at: [ 647.058694] [<ffffffff8109c02e>] lock_acquire+0xbe/0x230 [ 647.064283] [<ffffffff8162cbb1>] _raw_spin_lock+0x41/0x80 [ 647.069964] [<ffffffff81066465>] do_prlimit+0x205/0x250 [ 647.075473] [<ffffffff810664da>] SyS_getrlimit+0x2a/0x70 [ 647.081058] [<ffffffff8162df16>] system_call_fastpath+0x16/0x1b [ 647.087252] [ 647.088744] -> (tasklist_lock){.?.+..} ops: 25047 { [ 647.093714] IN-HARDIRQ-R at: [ 647.096867] [<ffffffff81099ff9>] __lock_acquire+0xba9/0x23e0 [ 647.104275] [<ffffffff8109c02e>] lock_acquire+0xbe/0x230 [ 647.111341] [<ffffffff8162d104>] _raw_read_lock+0x44/0x80 [ 647.118489] [<ffffffff811894eb>] send_sigio+0x5b/0x1b0 [ 647.125384] [<ffffffff81189704>] kill_fasync+0xc4/0x290 [ 647.132365] [<ffffffff8149db6d>] evdev_pass_values+0x8d/0x1c0 [ 647.139865] [<ffffffff8149eb9c>] evdev_events+0x20c/0x2d0 [ 647.147012] [<ffffffff81496a01>] input_to_handler+0x91/0x100 [ 647.154427] [<ffffffff814989b4>] input_pass_values.part.3+0x2c4/0x360 [ 647.162621] [<ffffffff814990ba>] input_handle_event+0xda/0x570 [ 647.170207] [<ffffffff814995b0>] input_event+0x60/0x90 [ 647.177094] [<ffffffff814cf86f>] hidinput_report_event+0x3f/0x50 [ 647.184847] [<ffffffff814cd9fe>] hid_report_raw_event+0x29e/0x440 [ 647.192687] [<ffffffff814cdcc1>] hid_input_report+0x121/0x1a0 [ 647.200188] [<ffffffff814db920>] hid_irq_in+0x80/0x1f0 [ 647.207073] [<ffffffff81455738>] __usb_hcd_giveback_urb+0x68/0x100 [ 647.214999] [<ffffffff8145581a>] usb_hcd_giveback_urb+0x4a/0x140 [ 647.222751] [<ffffffff81471d2b>] finish_urb+0x8b/0x150 [ 647.229638] [<ffffffff81473325>] ohci_work.part.32+0x345/0x5c0 [ 647.237216] [<ffffffff81476f10>] ohci_irq+0x200/0x280 [ 647.244017] [<ffffffff81454d45>] usb_hcd_irq+0x25/0x40 [ 647.250913] [<ffffffff810af669>] handle_irq_event_percpu+0x39/0x350 [ 647.258933] [<ffffffff810af9c8>] handle_irq_event+0x48/0x70 [ 647.266251] [<ffffffff810b2790>] handle_fasteoi_irq+0xa0/0x180 [ 647.273832] [<ffffffff81005692>] handle_irq+0x22/0x40 [ 647.280639] [<ffffffff81630908>] do_IRQ+0x68/0x110 [ 647.287181] [<ffffffff8162ebac>] ret_from_intr+0x0/0x13 [ 647.294162] [<ffffffff814c72a7>] cpuidle_enter+0x17/0x20 [ 647.301228] [<ffffffff810905e1>] cpu_startup_entry+0x461/0x570 [ 647.308809] [<ffffffff810360ed>] start_secondary+0x18d/0x1a0 [ 647.316224] HARDIRQ-ON-R at: [ 647.319384] [<ffffffff810997c3>] __lock_acquire+0x373/0x23e0 [ 647.326790] [<ffffffff8109c02e>] lock_acquire+0xbe/0x230 [ 647.333884] [<ffffffff8162d104>] _raw_read_lock+0x44/0x80 [ 647.341031] [<ffffffff810528f9>] do_wait+0xe9/0x370 [ 647.347656] [<ffffffff81052f95>] SyS_wait4+0x75/0xf0 [ 647.354369] [<ffffffff8162df16>] system_call_fastpath+0x16/0x1b [ 647.362036] SOFTIRQ-ON-R at: [ 647.365190] [<ffffffff81099dfb>] __lock_acquire+0x9ab/0x23e0 [ 647.372605] [<ffffffff8109c02e>] lock_acquire+0xbe/0x230 [ 647.379671] [<ffffffff8162d104>] _raw_read_lock+0x44/0x80 [ 647.386842] [<ffffffff810528f9>] do_wait+0xe9/0x370 [ 647.393470] [<ffffffff81052f95>] SyS_wait4+0x75/0xf0 [ 647.400183] [<ffffffff8162df16>] system_call_fastpath+0x16/0x1b [ 647.407850] INITIAL USE at: [ 647.410932] [<ffffffff81099879>] __lock_acquire+0x429/0x23e0 [ 647.418253] [<ffffffff8109c02e>] lock_acquire+0xbe/0x230 [ 647.425233] [<ffffffff8162d5c7>] _raw_write_lock_irq+0x47/0x80 [ 647.432726] [<ffffffff8104d3df>] copy_process.part.49+0xe7f/0x19f0 [ 647.440564] [<ffffffff8104e117>] do_fork+0xe7/0x770 [ 647.447114] [<ffffffff8104e7c6>] kernel_thread+0x26/0x30 [ 647.454087] [<ffffffff81621453>] rest_init+0x23/0x140 [ 647.460800] [<ffffffff81b9fe64>] start_kernel+0x404/0x411 [ 647.467867] [<ffffffff81b9f469>] x86_64_start_reservations+0x2a/0x2c [ 647.475878] [<ffffffff81b9f562>] x86_64_start_kernel+0xf7/0xfb [ 647.483374] } [ 647.485045] ... key at: [<ffffffff8190f098>] tasklist_lock+0x18/0x80 [ 647.491940] ... acquired at: [ 647.494911] [<ffffffff81095eb2>] check_usage_forwards+0x152/0x160 [ 647.501285] [<ffffffff81096c68>] mark_lock+0x3d8/0x760 [ 647.506700] [<ffffffff81099ff9>] __lock_acquire+0xba9/0x23e0 [ 647.512642] [<ffffffff8109c02e>] lock_acquire+0xbe/0x230 [ 647.518236] [<ffffffff8162d104>] _raw_read_lock+0x44/0x80 [ 647.523910] [<ffffffff811894eb>] send_sigio+0x5b/0x1b0 [ 647.529324] [<ffffffff81189704>] kill_fasync+0xc4/0x290 [ 647.534833] [<ffffffff8149db6d>] evdev_pass_values+0x8d/0x1c0 [ 647.540852] [<ffffffff8149eb9c>] evdev_events+0x20c/0x2d0 [ 647.546526] [<ffffffff81496a01>] input_to_handler+0x91/0x100 [ 647.552460] [<ffffffff814989b4>] input_pass_values.part.3+0x2c4/0x360 [ 647.559174] [<ffffffff814990ba>] input_handle_event+0xda/0x570 [ 647.565287] [<ffffffff814995b0>] input_event+0x60/0x90 [ 647.570701] [<ffffffff814cf86f>] hidinput_report_event+0x3f/0x50 [ 647.576981] [<ffffffff814cd9fe>] hid_report_raw_event+0x29e/0x440 [ 647.583349] [<ffffffff814cdcc1>] hid_input_report+0x121/0x1a0 [ 647.589376] [<ffffffff814db920>] hid_irq_in+0x80/0x1f0 [ 647.594791] [<ffffffff81455738>] __usb_hcd_giveback_urb+0x68/0x100 [ 647.601244] [<ffffffff8145581a>] usb_hcd_giveback_urb+0x4a/0x140 [ 647.607523] [<ffffffff81471d2b>] finish_urb+0x8b/0x150 [ 647.612938] [<ffffffff81473325>] ohci_work.part.32+0x345/0x5c0 [ 647.619054] [<ffffffff81476f10>] ohci_irq+0x200/0x280 [ 647.624388] [<ffffffff81454d45>] usb_hcd_irq+0x25/0x40 [ 647.629803] [<ffffffff810af669>] handle_irq_event_percpu+0x39/0x350 [ 647.636350] [<ffffffff810af9c8>] handle_irq_event+0x48/0x70 [ 647.642198] [<ffffffff810b2790>] handle_fasteoi_irq+0xa0/0x180 [ 647.648312] [<ffffffff81005692>] handle_irq+0x22/0x40 [ 647.653632] [<ffffffff81630908>] do_IRQ+0x68/0x110 [ 647.658718] [<ffffffff8162ebac>] ret_from_intr+0x0/0x13 [ 647.664217] [<ffffffff814c72a7>] cpuidle_enter+0x17/0x20 [ 647.669812] [<ffffffff810905e1>] cpu_startup_entry+0x461/0x570 [ 647.675920] [<ffffffff810360ed>] start_secondary+0x18d/0x1a0 [ 647.681862] [ 647.683359] [ 647.683359] stack backtrace: [ 647.687718] CPU: 6 PID: 0 Comm: swapper/6 Not tainted 3.17.0-rc5+ #1 [ 647.694065] Hardware name: To be filled by O.E.M. To be filled by O.E.M./M5A97 EVO R2.0, BIOS 1503 01/16/2013 [ 647.703968] ffffffff82814600 ffff88042e203648 ffffffff816257dc 0000000000000007 [ 647.711467] ffffffff82814600 ffff88042e203698 ffffffff81624b56 0000000000000002 [ 647.718933] ffffffff8184a8e7 ffff88042e203698 ffff88042b9ed678 ffff88042b9ecdc0 [ 647.726383] Call Trace: [ 647.728828] <IRQ> [<ffffffff816257dc>] dump_stack+0x4f/0x7c [ 647.734608] [<ffffffff81624b56>] print_irq_inversion_bug.part.31+0x1ba/0x1c9 [ 647.741737] [<ffffffff81095eb2>] check_usage_forwards+0x152/0x160 [ 647.747915] [<ffffffff81096c68>] mark_lock+0x3d8/0x760 [ 647.753135] [<ffffffff81095d60>] ? print_shortest_lock_dependencies+0x1d0/0x1d0 [ 647.760525] [<ffffffff81099ff9>] __lock_acquire+0xba9/0x23e0 [ 647.766268] [<ffffffff81099a13>] ? __lock_acquire+0x5c3/0x23e0 [ 647.772185] [<ffffffff8109c02e>] lock_acquire+0xbe/0x230 [ 647.777580] [<ffffffff811894eb>] ? send_sigio+0x5b/0x1b0 [ 647.782978] [<ffffffff8162d104>] _raw_read_lock+0x44/0x80 [ 647.788457] [<ffffffff811894eb>] ? send_sigio+0x5b/0x1b0 [ 647.793854] [<ffffffff811894eb>] send_sigio+0x5b/0x1b0 [ 647.799078] [<ffffffff811896d6>] ? kill_fasync+0x96/0x290 [ 647.804562] [<ffffffff81189704>] kill_fasync+0xc4/0x290 [ 647.809870] [<ffffffff8118964f>] ? kill_fasync+0xf/0x290 [ 647.815268] [<ffffffff8162cbdd>] ? _raw_spin_lock+0x6d/0x80 [ 647.820924] [<ffffffff8149db6d>] evdev_pass_values+0x8d/0x1c0 [ 647.826754] [<ffffffff8149eb9c>] evdev_events+0x20c/0x2d0 [ 647.832236] [<ffffffff8149e995>] ? evdev_events+0x5/0x2d0 [ 647.837719] [<ffffffff81496a01>] input_to_handler+0x91/0x100 [ 647.843462] [<ffffffff814989b4>] input_pass_values.part.3+0x2c4/0x360 [ 647.849984] [<ffffffff814986f5>] ? input_pass_values.part.3+0x5/0x360 [ 647.856509] [<ffffffff8162cda5>] ? _raw_spin_lock_irqsave+0x25/0x90 [ 647.862856] [<ffffffff8149959d>] ? input_event+0x4d/0x90 [ 647.868253] [<ffffffff814990ba>] input_handle_event+0xda/0x570 [ 647.874167] [<ffffffff8149959d>] ? input_event+0x4d/0x90 [ 647.879566] [<ffffffff814995b0>] input_event+0x60/0x90 [ 647.884788] [<ffffffff814cf86f>] hidinput_report_event+0x3f/0x50 [ 647.890878] [<ffffffff814cd9fe>] hid_report_raw_event+0x29e/0x440 [ 647.897053] [<ffffffff8162d011>] ? _raw_spin_unlock_irqrestore+0x41/0x90 [ 647.903838] [<ffffffff814cdcc1>] hid_input_report+0x121/0x1a0 [ 647.909666] [<ffffffff814db920>] hid_irq_in+0x80/0x1f0 [ 647.914890] [<ffffffff81455738>] __usb_hcd_giveback_urb+0x68/0x100 [ 647.921153] [<ffffffff8145581a>] usb_hcd_giveback_urb+0x4a/0x140 [ 647.927242] [<ffffffff81471d2b>] finish_urb+0x8b/0x150 [ 647.932464] [<ffffffff81473325>] ohci_work.part.32+0x345/0x5c0 [ 647.938380] [<ffffffff81476f10>] ohci_irq+0x200/0x280 [ 647.943518] [<ffffffff81454d45>] usb_hcd_irq+0x25/0x40 [ 647.948739] [<ffffffff810af669>] handle_irq_event_percpu+0x39/0x350 [ 647.955089] [<ffffffff810af9c8>] handle_irq_event+0x48/0x70 [ 647.960746] [<ffffffff810b2790>] handle_fasteoi_irq+0xa0/0x180 [ 647.966661] [<ffffffff81005692>] handle_irq+0x22/0x40 [ 647.971797] [<ffffffff81630908>] do_IRQ+0x68/0x110 [ 647.976673] [<ffffffff8162ebac>] common_interrupt+0x6c/0x6c [ 647.982325] <EOI> [<ffffffff814c6f4b>] ? cpuidle_enter_state+0x7b/0x310 [ 647.989139] [<ffffffff814c6f46>] ? cpuidle_enter_state+0x76/0x310 [ 647.995314] [<ffffffff814c72a7>] cpuidle_enter+0x17/0x20 [ 648.000711] [<ffffffff810905e1>] cpu_startup_entry+0x461/0x570 [ 648.006628] [<ffffffff810ce52c>] ? clockevents_register_device+0xbc/0x120 [ 648.013496] [<ffffffff810360ed>] start_secondary+0x18d/0x1a0 > >> > >> [ 1132.334973] ========================================================= > >> [ 1132.336095] [ INFO: possible irq lock inversion dependency detected ] > >> [ 1132.337056] 3.16.0-next-20140815-sasha-00034-g615561b #1071 Not tainted > >> [ 1132.337922] --------------------------------------------------------- > >> [ 1132.340751] trinity-main/8521 just changed the state of lock: > >> [ 1132.342015] (&(&new->fa_lock)->rlock){-.....}, at: kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] but this lock took another, HARDIRQ-unsafe lock in the past: > >> [ 1132.342761] (&(&p->alloc_lock)->rlock){+.+...} > >> > >> and interrupts could create inverse lock ordering between them. > >> > >> [ 1132.342761] > >> [ 1132.342761] other info that might help us debug this: > >> [ 1132.342761] Chain exists of: > >> &(&new->fa_lock)->rlock --> &f->f_owner.lock --> &(&p->alloc_lock)->rlock > >> [ 1132.334973] ========================================================= > >> [ 1132.336095] [ INFO: possible irq lock inversion dependency detected ] > >> [ 1132.337056] 3.16.0-next-20140815-sasha-00034-g615561b #1071 Not tainted > >> [ 1132.337922] --------------------------------------------------------- > >> [ 1132.340751] trinity-main/8521 just changed the state of lock: > >> [ 1132.342015] (&(&new->fa_lock)->rlock){-.....}, at: kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] but this lock took another, HARDIRQ-unsafe lock in the past: > >> [ 1132.342761] (&(&p->alloc_lock)->rlock){+.+...} > >> > >> and interrupts could create inverse lock ordering between them. > >> > >> [ 1132.342761] > >> [ 1132.342761] other info that might help us debug this: > >> [ 1132.342761] Chain exists of: > >> &(&new->fa_lock)->rlock --> &f->f_owner.lock --> &(&p->alloc_lock)->rlock > >> > >> [ 1132.342761] Possible interrupt unsafe locking scenario: > >> [ 1132.342761] > >> [ 1132.342761] CPU0 CPU1 > >> [ 1132.342761] ---- ---- > >> [ 1132.342761] lock(&(&p->alloc_lock)->rlock); > >> [ 1132.342761] local_irq_disable(); > >> [ 1132.342761] lock(&(&new->fa_lock)->rlock); > >> [ 1132.342761] lock(&f->f_owner.lock); > >> [ 1132.342761] <Interrupt> > >> [ 1132.342761] lock(&(&new->fa_lock)->rlock); > >> [ 1132.342761] > >> [ 1132.342761] *** DEADLOCK *** > >> [ 1132.342761] > >> [ 1132.342761] 1 lock held by trinity-main/8521: > >> [ 1132.342761] #0: (rcu_read_lock){......}, at: kill_fasync (fs/fcntl.c:731) > >> [ 1132.342761] > >> [ 1132.342761] the shortest dependencies between 2nd lock and 1st lock: > >> [ 1132.342761] -> (&(&p->alloc_lock)->rlock){+.+...} ops: 737341 { > >> [ 1132.342761] HARDIRQ-ON-W at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2802 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > >> [ 1132.342761] kthreadd (kernel/kthread.c:489) > >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > >> [ 1132.342761] SOFTIRQ-ON-W at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > >> [ 1132.342761] kthreadd (kernel/kthread.c:489) > >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > >> [ 1132.342761] INITIAL USE at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > >> [ 1132.342761] kthreadd (kernel/kthread.c:489) > >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > >> [ 1132.342761] } > >> [ 1132.342761] ... key at: __key.51842 (??:?) > >> [ 1132.342761] ... acquired at: > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > >> [ 1132.342761] do_prlimit (kernel/sys.c:1386) > >> [ 1132.342761] SyS_getrlimit (kernel/sys.c:1276 kernel/sys.c:1270) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] > >> [ 1132.342761] -> (tasklist_lock){.+.+..} ops: 42693178 { > >> [ 1132.342761] HARDIRQ-ON-R at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) > >> [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) > >> [ 1132.342761] wait_for_helper (kernel/kmod.c:310) > >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > >> [ 1132.342761] SOFTIRQ-ON-R at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) > >> [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) > >> [ 1132.342761] wait_for_helper (kernel/kmod.c:310) > >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > >> [ 1132.342761] INITIAL USE at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_write_lock_irq (include/linux/rwlock_api_smp.h:197 kernel/locking/spinlock.c:311) > >> [ 1132.342761] copy_process (./arch/x86/include/asm/current.h:14 kernel/fork.c:1465) > >> [ 1132.342761] do_fork (kernel/fork.c:1644) > >> [ 1132.342761] kernel_thread (kernel/fork.c:1693) > >> [ 1132.342761] rest_init (init/main.c:404) > >> [ 1132.342761] start_kernel (init/main.c:682) > >> [ 1132.342761] x86_64_start_reservations (arch/x86/kernel/head64.c:194) > >> [ 1132.342761] x86_64_start_kernel (arch/x86/kernel/head64.c:183) > >> [ 1132.342761] } > >> [ 1132.342761] ... key at: tasklist_lock (??:?) > >> [ 1132.342761] ... acquired at: > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] send_sigio (fs/fcntl.c:517) > >> [ 1132.342761] dnotify_handle_event (fs/notify/dnotify/dnotify.c:114) > >> [ 1132.342761] send_to_group (fs/notify/fsnotify.c:183) > >> [ 1132.342761] fsnotify (fs/notify/fsnotify.c:249) > >> [ 1132.342761] notify_change (fs/attr.c:272) > >> [ 1132.342761] chown_common (fs/open.c:581) > >> [ 1132.342761] SyS_fchown (fs/open.c:647 fs/open.c:634) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] > >> [ 1132.342761] -> (&f->f_owner.lock){.+.+..} ops: 5967 { > >> [ 1132.342761] HARDIRQ-ON-R at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] SOFTIRQ-ON-R at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] INITIAL USE at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] } > >> [ 1132.342761] ... key at: __key.31497 (??:?) > >> [ 1132.342761] ... acquired at: > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] send_sigio (fs/fcntl.c:506) > >> [ 1132.342761] kill_fasync (include/linux/spinlock.h:364 fs/fcntl.c:725 fs/fcntl.c:737) > >> [ 1132.342761] wakeup_pipe_writers (fs/splice.c:727) > >> [ 1132.342761] iter_file_splice_write (fs/splice.c:861 fs/splice.c:1054) > >> [ 1132.342761] SyS_splice (fs/splice.c:1128 fs/splice.c:1393 fs/splice.c:1701 fs/splice.c:1684) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] > >> [ 1132.342761] -> (&(&new->fa_lock)->rlock){-.....} ops: 4993 { > >> [ 1132.342761] IN-HARDIRQ-W at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > >> [ 1132.342761] do_fork (kernel/fork.c:1671) > >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) > >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > >> [ 1132.342761] INITIAL USE at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock_irq (include/linux/spinlock_api_smp.h:129 kernel/locking/spinlock.c:167) > >> [ 1132.342761] fasync_remove_entry (include/linux/spinlock.h:359 fs/fcntl.c:595) > >> [ 1132.342761] fasync_helper (fs/fcntl.c:698) > >> [ 1132.342761] sock_fasync (net/socket.c:1211 (discriminator 7)) > >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:70 fs/fcntl.c:274 fs/fcntl.c:378 fs/fcntl.c:363) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] } > >> [ 1132.342761] ... key at: __key.37041 (??:?) > >> [ 1132.342761] ... acquired at: > >> [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) > >> [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > >> [ 1132.342761] do_fork (kernel/fork.c:1671) > >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) > >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > >> [ 1132.342761] > >> [ 1132.342761] > >> [ 1132.342761] stack backtrace: > >> [ 1132.342761] CPU: 10 PID: 8521 Comm: trinity-main Not tainted 3.16.0-next-20140815-sasha-00034-g615561b #1071 > >> [ 1132.342761] ffff88071c003cb0 ffff88071c003c48 ffffffffb24a9798 ffffffffb651ed80 > >> [ 1132.342761] ffff88071c003c90 ffffffffaf1cb19b ffff880714273d20 ffffffffb3740742 > >> [ 1132.342761] ffff880714273000 ffffffffb3740742 ffff880714273d20 0000000000000002 > >> [ 1132.342761] Call Trace: > >> [ 1132.342761] <IRQ> dump_stack (lib/dump_stack.c:52) > >> [ 1132.342761] print_irq_inversion_bug (kernel/locking/lockdep.c:2339) > >> [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) > >> [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) > >> [ 1132.342761] ? print_irq_inversion_bug (kernel/locking/lockdep.c:2349) > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] ? kvm_clock_read (./arch/x86/include/asm/preempt.h:90 arch/x86/kernel/kvmclock.c:86) > >> [ 1132.342761] ? sched_clock (./arch/x86/include/asm/paravirt.h:192 arch/x86/kernel/tsc.c:304) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.564837] FAULT_INJECTION: forcing a failure > >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:731) > >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > >> [ 1132.342761] ? perf_event_reset (kernel/events/core.c:4337) > >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > >> [ 1132.342761] <EOI> ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/paravirt.h:809 include/linux/spinlock_api_smp.h:160 kernel/locking/spinlock.c:191) > >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > >> [ 1132.342761] do_fork (kernel/fork.c:1671) > >> [ 1132.342761] ? context_tracking_user_exit (./arch/x86/include/asm/paravirt.h:809 (discriminator 2) kernel/context_tracking.c:184 (discriminator 2)) > >> [ 1132.342761] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63) > >> [ 1132.342761] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2559 kernel/locking/lockdep.c:2601) > >> [ 1132.342761] ? trace_hardirqs_on (kernel/locking/lockdep.c:2609) > >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) > >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > >> [ 1132.342761] ? tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] Possible interrupt unsafe locking scenario: > >> [ 1132.342761] > >> [ 1132.342761] CPU0 CPU1 > >> [ 1132.342761] ---- ---- > >> [ 1132.342761] lock(&(&p->alloc_lock)->rlock); > >> [ 1132.342761] local_irq_disable(); > >> [ 1132.342761] lock(&(&new->fa_lock)->rlock); > >> [ 1132.342761] lock(&f->f_owner.lock); > >> [ 1132.342761] <Interrupt> > >> [ 1132.342761] lock(&(&new->fa_lock)->rlock); > >> [ 1132.342761] > >> [ 1132.342761] *** DEADLOCK *** > >> [ 1132.342761] > >> [ 1132.342761] 1 lock held by trinity-main/8521: > >> [ 1132.342761] #0: (rcu_read_lock){......}, at: kill_fasync (fs/fcntl.c:731) > >> [ 1132.342761] > >> [ 1132.342761] the shortest dependencies between 2nd lock and 1st lock: > >> [ 1132.342761] -> (&(&p->alloc_lock)->rlock){+.+...} ops: 737341 { > >> [ 1132.342761] HARDIRQ-ON-W at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2802 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > >> [ 1132.342761] kthreadd (kernel/kthread.c:489) > >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > >> [ 1132.342761] SOFTIRQ-ON-W at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > >> [ 1132.342761] kthreadd (kernel/kthread.c:489) > >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > >> [ 1132.342761] INITIAL USE at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > >> [ 1132.342761] __set_task_comm (include/linux/spinlock.h:309 include/linux/jump_label.h:114 include/trace/events/task.h:33 fs/exec.c:1048) > >> [ 1132.342761] kthreadd (kernel/kthread.c:489) > >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > >> [ 1132.342761] } > >> [ 1132.342761] ... key at: __key.51842 (??:?) > >> [ 1132.342761] ... acquired at: > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:151) > >> [ 1132.342761] do_prlimit (kernel/sys.c:1386) > >> [ 1132.342761] SyS_getrlimit (kernel/sys.c:1276 kernel/sys.c:1270) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] > >> [ 1132.342761] -> (tasklist_lock){.+.+..} ops: 42693178 { > >> [ 1132.342761] HARDIRQ-ON-R at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) > >> [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) > >> [ 1132.342761] wait_for_helper (kernel/kmod.c:310) > >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > >> [ 1132.342761] SOFTIRQ-ON-R at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] do_wait (./arch/x86/include/asm/current.h:14 kernel/exit.c:1490) > >> [ 1132.342761] SyS_wait4 (kernel/exit.c:1620 kernel/exit.c:1588) > >> [ 1132.342761] wait_for_helper (kernel/kmod.c:310) > >> [ 1132.342761] ret_from_fork (arch/x86/kernel/entry_64.S:348) > >> [ 1132.342761] INITIAL USE at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_write_lock_irq (include/linux/rwlock_api_smp.h:197 kernel/locking/spinlock.c:311) > >> [ 1132.342761] copy_process (./arch/x86/include/asm/current.h:14 kernel/fork.c:1465) > >> [ 1132.342761] do_fork (kernel/fork.c:1644) > >> [ 1132.342761] kernel_thread (kernel/fork.c:1693) > >> [ 1132.342761] rest_init (init/main.c:404) > >> [ 1132.342761] start_kernel (init/main.c:682) > >> [ 1132.342761] x86_64_start_reservations (arch/x86/kernel/head64.c:194) > >> [ 1132.342761] x86_64_start_kernel (arch/x86/kernel/head64.c:183) > >> [ 1132.342761] } > >> [ 1132.342761] ... key at: tasklist_lock (??:?) > >> [ 1132.342761] ... acquired at: > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] send_sigio (fs/fcntl.c:517) > >> [ 1132.342761] dnotify_handle_event (fs/notify/dnotify/dnotify.c:114) > >> [ 1132.342761] send_to_group (fs/notify/fsnotify.c:183) > >> [ 1132.342761] fsnotify (fs/notify/fsnotify.c:249) > >> [ 1132.342761] notify_change (fs/attr.c:272) > >> [ 1132.342761] chown_common (fs/open.c:581) > >> [ 1132.342761] SyS_fchown (fs/open.c:647 fs/open.c:634) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] > >> [ 1132.342761] -> (&f->f_owner.lock){.+.+..} ops: 5967 { > >> [ 1132.342761] HARDIRQ-ON-R at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2794 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] SOFTIRQ-ON-R at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2806 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] INITIAL USE at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:197 fs/fcntl.c:308 fs/fcntl.c:378 fs/fcntl.c:363) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] } > >> [ 1132.342761] ... key at: __key.31497 (??:?) > >> [ 1132.342761] ... acquired at: > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_read_lock (include/linux/rwlock_api_smp.h:150 kernel/locking/spinlock.c:223) > >> [ 1132.342761] send_sigio (fs/fcntl.c:506) > >> [ 1132.342761] kill_fasync (include/linux/spinlock.h:364 fs/fcntl.c:725 fs/fcntl.c:737) > >> [ 1132.342761] wakeup_pipe_writers (fs/splice.c:727) > >> [ 1132.342761] iter_file_splice_write (fs/splice.c:861 fs/splice.c:1054) > >> [ 1132.342761] SyS_splice (fs/splice.c:1128 fs/splice.c:1393 fs/splice.c:1701 fs/splice.c:1684) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] > >> [ 1132.342761] -> (&(&new->fa_lock)->rlock){-.....} ops: 4993 { > >> [ 1132.342761] IN-HARDIRQ-W at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > >> [ 1132.342761] do_fork (kernel/fork.c:1671) > >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) > >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > >> [ 1132.342761] INITIAL USE at: > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:3144) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock_irq (include/linux/spinlock_api_smp.h:129 kernel/locking/spinlock.c:167) > >> [ 1132.342761] fasync_remove_entry (include/linux/spinlock.h:359 fs/fcntl.c:595) > >> [ 1132.342761] fasync_helper (fs/fcntl.c:698) > >> [ 1132.342761] sock_fasync (net/socket.c:1211 (discriminator 7)) > >> [ 1132.342761] SyS_fcntl (fs/fcntl.c:70 fs/fcntl.c:274 fs/fcntl.c:378 fs/fcntl.c:363) > >> [ 1132.342761] tracesys (arch/x86/kernel/entry_64.S:541) > >> [ 1132.342761] } > >> [ 1132.342761] ... key at: __key.37041 (??:?) > >> [ 1132.342761] ... acquired at: > >> [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) > >> [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > >> [ 1132.342761] do_fork (kernel/fork.c:1671) > >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) > >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > >> [ 1132.342761] > >> [ 1132.342761] > >> [ 1132.342761] stack backtrace: > >> [ 1132.342761] CPU: 10 PID: 8521 Comm: trinity-main Not tainted 3.16.0-next-20140815-sasha-00034-g615561b #1071 > >> [ 1132.342761] ffff88071c003cb0 ffff88071c003c48 ffffffffb24a9798 ffffffffb651ed80 > >> [ 1132.342761] ffff88071c003c90 ffffffffaf1cb19b ffff880714273d20 ffffffffb3740742 > >> [ 1132.342761] ffff880714273000 ffffffffb3740742 ffff880714273d20 0000000000000002 > >> [ 1132.342761] Call Trace: > >> [ 1132.342761] <IRQ> dump_stack (lib/dump_stack.c:52) > >> [ 1132.342761] print_irq_inversion_bug (kernel/locking/lockdep.c:2339) > >> [ 1132.342761] check_usage_forwards (kernel/locking/lockdep.c:2364) > >> [ 1132.342761] mark_lock (kernel/locking/lockdep.c:2474 kernel/locking/lockdep.c:2922) > >> [ 1132.342761] ? print_irq_inversion_bug (kernel/locking/lockdep.c:2349) > >> [ 1132.342761] __lock_acquire (kernel/locking/lockdep.c:2785 kernel/locking/lockdep.c:3140) > >> [ 1132.342761] ? kvm_clock_read (./arch/x86/include/asm/preempt.h:90 arch/x86/kernel/kvmclock.c:86) > >> [ 1132.342761] ? sched_clock (./arch/x86/include/asm/paravirt.h:192 arch/x86/kernel/tsc.c:304) > >> [ 1132.342761] lock_acquire (./arch/x86/include/asm/current.h:14 kernel/locking/lockdep.c:3610) > >> [ 1132.564837] FAULT_INJECTION: forcing a failure > >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:117 kernel/locking/spinlock.c:159) > >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] kill_fasync (fs/fcntl.c:717 fs/fcntl.c:737) > >> [ 1132.342761] ? kill_fasync (fs/fcntl.c:731) > >> [ 1132.342761] perf_event_wakeup (kernel/events/core.c:4342) > >> [ 1132.342761] ? perf_event_reset (kernel/events/core.c:4337) > >> [ 1132.342761] perf_pending_event (kernel/events/core.c:4360) > >> [ 1132.342761] irq_work_run_list (kernel/irq_work.c:159) > >> [ 1132.342761] irq_work_run (kernel/irq_work.c:170) > >> [ 1132.342761] smp_irq_work_interrupt (./arch/x86/include/asm/apic.h:660 arch/x86/kernel/irq_work.c:29) > >> [ 1132.342761] irq_work_interrupt (arch/x86/kernel/entry_64.S:1046) > >> [ 1132.342761] <EOI> ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/paravirt.h:809 include/linux/spinlock_api_smp.h:160 kernel/locking/spinlock.c:191) > >> [ 1132.342761] wake_up_new_task (kernel/sched/core.c:2090) > >> [ 1132.342761] do_fork (kernel/fork.c:1671) > >> [ 1132.342761] ? context_tracking_user_exit (./arch/x86/include/asm/paravirt.h:809 (discriminator 2) kernel/context_tracking.c:184 (discriminator 2)) > >> [ 1132.342761] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63) > >> [ 1132.342761] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2559 kernel/locking/lockdep.c:2601) > >> [ 1132.342761] ? trace_hardirqs_on (kernel/locking/lockdep.c:2609) > >> [ 1132.342761] SyS_clone (kernel/fork.c:1733) > >> [ 1132.342761] stub_clone (arch/x86/kernel/entry_64.S:636) > >> [ 1132.342761] ? tracesys (arch/x86/kernel/entry_64.S:541) > >> > >> > >> Thanks, > >> Sash > >> > > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- Regards/Gruss, Boris. Sent from a fat crate under my desk. Formatting is fine. -- ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: fs: INFO: possible irq lock inversion dependency detected in kill_fasync 2014-09-22 11:02 ` Borislav Petkov @ 2014-09-22 12:40 ` Kari Suvanto 0 siblings, 0 replies; 5+ messages in thread From: Kari Suvanto @ 2014-09-22 12:40 UTC (permalink / raw) To: Borislav Petkov, Sasha Levin Cc: Al Viro, linux-fsdevel, LKML, Dave Jones, x86-ml, Peter Zijlstra > I get a similar splat with rc5+ + tip/master during simple boot. Adding > more people to CC and leaving in the rest for reference. > > [ 13.627241] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready > [ 17.598601] sha256_ssse3: Using AVX optimized SHA-256 implementation > [ 36.527009] ip_tables: (C) 2000-2006 Netfilter Core Team > [ 54.867814] tun: Universal TUN/TAP device driver, 1.6 > [ 54.872924] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> > [ 646.712953] > [ 646.714454] ========================================================= > [ 646.720887] [ INFO: possible irq lock inversion dependency detected ] > [ 646.727326] 3.17.0-rc5+ #1 Not tainted > [ 646.731076] --------------------------------------------------------- > [ 646.737511] swapper/6/0 just changed the state of lock: > [ 646.742733] (tasklist_lock){.?.+..}, at: [<ffffffff811894eb>] send_sigio+0x5b/0x1b0 > [ 646.750539] but this lock took another, HARDIRQ-unsafe lock in the past: > [ 646.757233] (&(&p->alloc_lock)->rlock){+.+...} > [ 646.757233] > [ 646.757233] and interrupts could create inverse lock ordering between them. > [ 646.757233] > [ 646.767783] > [ 646.767783] other info that might help us debug this: > [ 646.774306] Possible interrupt unsafe locking scenario: > [ 646.774306] > [ 646.781088] CPU0 CPU1 > [ 646.785619] ---- ---- > [ 646.790147] lock(&(&p->alloc_lock)->rlock); > [ 646.794550] local_irq_disable(); > [ 646.800465] lock(tasklist_lock); > [ 646.806406] lock(&(&p->alloc_lock)->rlock); > [ 646.813302] <Interrupt> > [ 646.815926] lock(tasklist_lock); > [ 646.819530] I also get a similar splat but in my case the tasklist_lock is changed to event_lock [ 13.157233] [ 13.157256] ========================================================= [ 13.157272] [ INFO: possible irq lock inversion dependency detected ] [ 13.157288] 3.17.0-999-generic #201409212205 Not tainted [ 13.157304] --------------------------------------------------------- [ 13.157320] swapper/0/0 just changed the state of lock: [ 13.157337] (&(&dev->event_lock)->rlock){-.....}, at: [<ffffffff81650415>] input_event+0x45/0x70 [ 13.157420] but this lock took another, HARDIRQ-unsafe lock in the past: [ 13.157436] (&(&p->alloc_lock)->rlock){+.+...} [ 13.157436] [ 13.157436] and interrupts could create inverse lock ordering between them. [ 13.157436] [ 13.157500] [ 13.157500] other info that might help us debug this: [ 13.157517] Chain exists of: [ 13.157517] &(&dev->event_lock)->rlock --> &(&client->buffer_lock)->rlock --> &(&p->alloc_lock)->rlock [ 13.157517] [ 13.157631] Possible interrupt unsafe locking scenario: [ 13.157631] [ 13.157648] CPU0 CPU1 [ 13.157665] ---- ---- [ 13.157681] lock(&(&p->alloc_lock)->rlock); [ 13.157730] local_irq_disable(); [ 13.157747] lock(&(&dev->event_lock)->rlock); [ 13.157798] lock(&(&client->buffer_lock)->rlock); [ 13.157848] <Interrupt> [ 13.157864] lock(&(&dev->event_lock)->rlock); [ 13.157916] [ 13.157916] *** DEADLOCK *** [ 13.157916] [ 13.157932] no locks held by swapper/0/0. [ 13.157948] [ 13.157948] the shortest dependencies between 2nd lock and 1st lock: [ 13.157970] -> (&(&p->alloc_lock)->rlock){+.+...} ops: 30001 { [ 13.158161] HARDIRQ-ON-W at: [ 13.158193] [<ffffffff810dbfc8>] __lock_acquire+0x508/0xaf0 [ 13.158227] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.158260] [<ffffffff8184f199>] _raw_spin_lock+0x39/0x50 [ 13.158295] [<ffffffff81236abe>] __set_task_comm+0x2e/0x240 [ 13.158329] [<ffffffff810a8cc0>] kthreadd+0x30/0x220 [ 13.158363] [<ffffffff8184ff7c>] ret_from_fork+0x7c/0xb0 [ 13.158395] SOFTIRQ-ON-W at: [ 13.158426] [<ffffffff810dbd83>] __lock_acquire+0x2c3/0xaf0 [ 13.158459] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.158491] [<ffffffff8184f199>] _raw_spin_lock+0x39/0x50 [ 13.158524] [<ffffffff81236abe>] __set_task_comm+0x2e/0x240 [ 13.158556] [<ffffffff810a8cc0>] kthreadd+0x30/0x220 [ 13.158588] [<ffffffff8184ff7c>] ret_from_fork+0x7c/0xb0 [ 13.158620] INITIAL USE at: [ 13.158652] [<ffffffff810dbdd4>] __lock_acquire+0x314/0xaf0 [ 13.158684] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.158716] [<ffffffff8184f199>] _raw_spin_lock+0x39/0x50 [ 13.158749] [<ffffffff81236abe>] __set_task_comm+0x2e/0x240 [ 13.158782] [<ffffffff810a8cc0>] kthreadd+0x30/0x220 [ 13.158815] [<ffffffff8184ff7c>] ret_from_fork+0x7c/0xb0 [ 13.158847] } [ 13.158864] ... key at: [<ffffffff8211d018>] __key.51912+0x0/0x8 [ 13.158987] ... acquired at: [ 13.159003] [<ffffffff810dbea8>] __lock_acquire+0x3e8/0xaf0 [ 13.159036] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.159068] [<ffffffff8184f199>] _raw_spin_lock+0x39/0x50 [ 13.159100] [<ffffffff8109b21a>] do_prlimit+0x9a/0x200 [ 13.159134] [<ffffffff8109b3aa>] SyS_getrlimit+0x2a/0x70 [ 13.159166] [<ffffffff8185002d>] system_call_fastpath+0x16/0x1b [ 13.159198] [ 13.159213] -> (tasklist_lock){.+.+..} ops: 26642 { [ 13.159308] HARDIRQ-ON-R at: [ 13.159339] [<ffffffff810dbd61>] __lock_acquire+0x2a1/0xaf0 [ 13.159371] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.159403] [<ffffffff8184f4ec>] _raw_read_lock+0x3c/0x50 [ 13.159435] [<ffffffff810842d3>] do_wait+0xe3/0x3f0 [ 13.159467] [<ffffffff81085894>] SyS_wait4+0x64/0xe0 [ 13.159499] [<ffffffff8109c30b>] wait_for_helper+0x4b/0x70 [ 13.159532] [<ffffffff8184ff7c>] ret_from_fork+0x7c/0xb0 [ 13.159564] SOFTIRQ-ON-R at: [ 13.159595] [<ffffffff810dbd83>] __lock_acquire+0x2c3/0xaf0 [ 13.159627] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.159659] [<ffffffff8184f4ec>] _raw_read_lock+0x3c/0x50 [ 13.159691] [<ffffffff810842d3>] do_wait+0xe3/0x3f0 [ 13.159723] [<ffffffff81085894>] SyS_wait4+0x64/0xe0 [ 13.159843] [<ffffffff8109c30b>] wait_for_helper+0x4b/0x70 [ 13.159875] [<ffffffff8184ff7c>] ret_from_fork+0x7c/0xb0 [ 13.159908] INITIAL USE at: [ 13.159939] [<ffffffff810dbdd4>] __lock_acquire+0x314/0xaf0 [ 13.159971] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.160003] [<ffffffff8184f875>] _raw_write_lock_irq+0x45/0x60 [ 13.160035] [<ffffffff8107f06e>] copy_process.part.23+0xc9e/0x1e30 [ 13.160067] [<ffffffff810803b1>] do_fork+0xd1/0x7d0 [ 13.160099] [<ffffffff81080ad6>] kernel_thread+0x26/0x30 [ 13.160131] [<ffffffff81832a46>] rest_init+0x26/0x150 [ 13.160164] [<ffffffff81f5a112>] start_kernel+0x4aa/0x4b7 [ 13.160196] [<ffffffff81f595ee>] x86_64_start_reservations+0x2a/0x2c [ 13.160228] [<ffffffff81f59733>] x86_64_start_kernel+0x143/0x152 [ 13.160260] } [ 13.160276] ... key at: [<ffffffff81e0f058>] tasklist_lock+0x18/0x40 [ 13.160309] ... acquired at: [ 13.160325] [<ffffffff810dbea8>] __lock_acquire+0x3e8/0xaf0 [ 13.160358] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.160390] [<ffffffff8184f4ec>] _raw_read_lock+0x3c/0x50 [ 13.160422] [<ffffffff81243225>] send_sigio+0x55/0x160 [ 13.160454] [<ffffffff812433fc>] kill_fasync+0xcc/0x230 [ 13.160487] [<ffffffff81653cf4>] evdev_pass_values+0xe4/0x1b0 [ 13.160520] [<ffffffff8165438b>] evdev_events+0x1ab/0x250 [ 13.160552] [<ffffffff8164c707>] input_to_handler+0x97/0xf0 [ 13.160670] [<ffffffff8164f854>] input_pass_values.part.5+0x2c4/0x2f0 [ 13.160703] [<ffffffff8164ffa9>] input_handle_event+0x129/0x550 [ 13.160736] [<ffffffff816505d8>] input_inject_event+0x198/0x210 [ 13.160768] [<ffffffff816558a7>] evdev_write+0x197/0x220 [ 13.160800] [<ffffffff8122f0e7>] vfs_write+0xb7/0x1f0 [ 13.160832] [<ffffffff8122fb79>] SyS_write+0x49/0xb0 [ 13.160863] [<ffffffff8185002d>] system_call_fastpath+0x16/0x1b [ 13.160895] [ 13.160911] -> (&f->f_owner.lock){......} ops: 8 { [ 13.161005] INITIAL USE at: [ 13.161036] [<ffffffff810dbdd4>] __lock_acquire+0x314/0xaf0 [ 13.161068] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.161101] [<ffffffff8184f875>] _raw_write_lock_irq+0x45/0x60 [ 13.161133] [<ffffffff812425d1>] f_modown+0x31/0xd0 [ 13.161165] [<ffffffff8124275b>] f_setown+0x8b/0x130 [ 13.161197] [<ffffffff81242e51>] SyS_fcntl+0x341/0x6c0 [ 13.161229] [<ffffffff8185002d>] system_call_fastpath+0x16/0x1b [ 13.161261] } [ 13.161276] ... key at: [<ffffffff82e879a0>] __key.31267+0x0/0x8 [ 13.161310] ... acquired at: [ 13.161325] [<ffffffff810dbea8>] __lock_acquire+0x3e8/0xaf0 [ 13.161358] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.161390] [<ffffffff8184f4ec>] _raw_read_lock+0x3c/0x50 [ 13.161508] [<ffffffff812431fa>] send_sigio+0x2a/0x160 [ 13.161540] [<ffffffff812433fc>] kill_fasync+0xcc/0x230 [ 13.161571] [<ffffffff81653cf4>] evdev_pass_values+0xe4/0x1b0 [ 13.161603] [<ffffffff8165438b>] evdev_events+0x1ab/0x250 [ 13.161636] [<ffffffff8164c707>] input_to_handler+0x97/0xf0 [ 13.161667] [<ffffffff8164f854>] input_pass_values.part.5+0x2c4/0x2f0 [ 13.161700] [<ffffffff8164ffa9>] input_handle_event+0x129/0x550 [ 13.161733] [<ffffffff816505d8>] input_inject_event+0x198/0x210 [ 13.161764] [<ffffffff816558a7>] evdev_write+0x197/0x220 [ 13.161796] [<ffffffff8122f0e7>] vfs_write+0xb7/0x1f0 [ 13.161827] [<ffffffff8122fb79>] SyS_write+0x49/0xb0 [ 13.161858] [<ffffffff8185002d>] system_call_fastpath+0x16/0x1b [ 13.161890] [ 13.161906] -> (&(&new->fa_lock)->rlock){......} ops: 1 { [ 13.162000] INITIAL USE at: [ 13.162031] [<ffffffff810dbdd4>] __lock_acquire+0x314/0xaf0 [ 13.162063] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.162095] [<ffffffff8184fae1>] _raw_spin_lock_irqsave+0x51/0x70 [ 13.162127] [<ffffffff812433ce>] kill_fasync+0x9e/0x230 [ 13.162159] [<ffffffff81653cf4>] evdev_pass_values+0xe4/0x1b0 [ 13.162191] [<ffffffff8165438b>] evdev_events+0x1ab/0x250 [ 13.162223] [<ffffffff8164c707>] input_to_handler+0x97/0xf0 [ 13.162342] [<ffffffff8164f854>] input_pass_values.part.5+0x2c4/0x2f0 [ 13.162374] [<ffffffff8164ffa9>] input_handle_event+0x129/0x550 [ 13.162406] [<ffffffff816505d8>] input_inject_event+0x198/0x210 [ 13.162438] [<ffffffff816558a7>] evdev_write+0x197/0x220 [ 13.162470] [<ffffffff8122f0e7>] vfs_write+0xb7/0x1f0 [ 13.162502] [<ffffffff8122fb79>] SyS_write+0x49/0xb0 [ 13.162534] [<ffffffff8185002d>] system_call_fastpath+0x16/0x1b [ 13.162566] } [ 13.162582] ... key at: [<ffffffff82e882f4>] __key.36860+0x0/0x8 [ 13.162614] ... acquired at: [ 13.162630] [<ffffffff810dbea8>] __lock_acquire+0x3e8/0xaf0 [ 13.162662] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.162694] [<ffffffff8184fae1>] _raw_spin_lock_irqsave+0x51/0x70 [ 13.162726] [<ffffffff814044f2>] fprop_reflect_period_percpu.isra.7+0x22/0xc0 [ 13.162760] [<ffffffff81404a21>] fprop_fraction_percpu+0xa1/0x120 [ 13.162792] [<ffffffff811b7811>] bdi_dirty_limit+0x31/0xc0 [ 13.162825] [<ffffffff8125ce5c>] over_bground_thresh+0x5c/0x80 [ 13.162858] [<ffffffff81261fa8>] bdi_writeback_workfn+0x238/0x910 [ 13.162890] [<ffffffff810a1b1f>] process_one_work+0x1df/0x7f0 [ 13.162922] [<ffffffff810a2251>] worker_thread+0x121/0x490 [ 13.162954] [<ffffffff810a7fcc>] kthread+0xfc/0x120 [ 13.162986] [<ffffffff8184ff7c>] ret_from_fork+0x7c/0xb0 [ 13.163018] [ 13.163034] -> (&(&client->buffer_lock)->rlock){......} ops: 15 { [ 13.163214] INITIAL USE at: [ 13.163245] [<ffffffff810dbdd4>] __lock_acquire+0x314/0xaf0 [ 13.163278] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.163310] [<ffffffff8184f199>] _raw_spin_lock+0x39/0x50 [ 13.163342] [<ffffffff81653c6c>] evdev_pass_values+0x5c/0x1b0 [ 13.163375] [<ffffffff8165438b>] evdev_events+0x1ab/0x250 [ 13.163406] [<ffffffff8164c707>] input_to_handler+0x97/0xf0 [ 13.163438] [<ffffffff8164f854>] input_pass_values.part.5+0x2c4/0x2f0 [ 13.163470] [<ffffffff8164ffa9>] input_handle_event+0x129/0x550 [ 13.163502] [<ffffffff81650429>] input_event+0x59/0x70 [ 13.163534] [<ffffffffc04490b0>] snd_jack_report+0xd0/0xe0 [snd] [ 13.163570] [<ffffffffc066b828>] snd_hda_jack_report_sync+0xd8/0xe0 [snd_hda_codec] [ 13.163608] [<ffffffffc0623fca>] jack_callback+0x8a/0xa0 [snd_hda_codec_hdmi] [ 13.163640] [<ffffffffc062408b>] hdmi_unsol_event+0xab/0x140 [snd_hda_codec_hdmi] [ 13.163673] [<ffffffffc0661187>] process_unsol_events+0x67/0x80 [snd_hda_codec] [ 13.163706] [<ffffffff810a1b1f>] process_one_work+0x1df/0x7f0 [ 13.163738] [<ffffffff810a2251>] worker_thread+0x121/0x490 [ 13.163769] [<ffffffff810a7fcc>] kthread+0xfc/0x120 [ 13.163801] [<ffffffff8184ff7c>] ret_from_fork+0x7c/0xb0 [ 13.163833] } [ 13.163849] ... key at: [<ffffffff82eb3018>] __key.29749+0x0/0x8 [ 13.163881] ... acquired at: [ 13.163897] [<ffffffff810dbea8>] __lock_acquire+0x3e8/0xaf0 [ 13.163930] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.164049] [<ffffffff8184fae1>] _raw_spin_lock_irqsave+0x51/0x70 [ 13.164080] [<ffffffff810b7eb1>] try_to_wake_up+0x31/0x510 [ 13.164113] [<ffffffff810b8412>] default_wake_function+0x12/0x20 [ 13.164146] [<ffffffff812450b6>] pollwake+0x66/0x70 [ 13.164177] [<ffffffff810cf3a8>] __wake_up_common+0x58/0x90 [ 13.164210] [<ffffffff810cf65d>] __wake_up+0x3d/0x60 [ 13.164241] [<ffffffffc04449cb>] snd_ctl_notify+0x15b/0x1d0 [snd] [ 13.164276] [<ffffffffc0448d94>] snd_kctl_jack_report+0x24/0x30 [snd] [ 13.164311] [<ffffffffc066b810>] snd_hda_jack_report_sync+0xc0/0xe0 [snd_hda_codec] [ 13.164349] [<ffffffffc0623fca>] jack_callback+0x8a/0xa0 [snd_hda_codec_hdmi] [ 13.164387] [<ffffffffc062408b>] hdmi_unsol_event+0xab/0x140 [snd_hda_codec_hdmi] [ 13.164424] [<ffffffffc0661187>] process_unsol_events+0x67/0x80 [snd_hda_codec] [ 13.164463] [<ffffffff810a1b1f>] process_one_work+0x1df/0x7f0 [ 13.164499] [<ffffffff810a2251>] worker_thread+0x121/0x490 [ 13.164536] [<ffffffff810a7fcc>] kthread+0xfc/0x120 [ 13.164573] [<ffffffff8184ff7c>] ret_from_fork+0x7c/0xb0 [ 13.164610] [ 13.164628] -> (&(&dev->event_lock)->rlock){-.....} ops: 450 { [ 13.164735] IN-HARDIRQ-W at: [ 13.164771] [<ffffffff810dc0fd>] __lock_acquire+0x63d/0xaf0 [ 13.164808] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.164845] [<ffffffff8184fae1>] _raw_spin_lock_irqsave+0x51/0x70 [ 13.164969] [<ffffffff81650415>] input_event+0x45/0x70 [ 13.165006] [<ffffffffc02fd0ff>] hidinput_report_event+0x3f/0x50 [hid] [ 13.165047] [<ffffffffc02fb248>] hid_report_raw_event+0x148/0x1c0 [hid] [ 13.165086] [<ffffffffc02fb3d2>] hid_input_report+0x112/0x190 [hid] [ 13.165125] [<ffffffffc0361cb2>] hid_irq_in+0xb2/0x250 [usbhid] [ 13.165165] [<ffffffff815ffa33>] __usb_hcd_giveback_urb+0x83/0x130 [ 13.165203] [<ffffffff815ffbf3>] usb_hcd_giveback_urb+0x43/0x150 [ 13.165240] [<ffffffff8164115f>] handle_tx_event+0x22f/0x12b0 [ 13.165277] [<ffffffff81642496>] xhci_irq+0x2b6/0xa60 [ 13.165314] [<ffffffff81642c51>] xhci_msi_irq+0x11/0x20 [ 13.165351] [<ffffffff810f1291>] handle_irq_event_percpu+0x41/0x500 [ 13.165389] [<ffffffff810f1791>] handle_irq_event+0x41/0x70 [ 13.165426] [<ffffffff810f460f>] handle_edge_irq+0x7f/0x120 [ 13.165463] [<ffffffff81020a92>] handle_irq+0x22/0x40 [ 13.165500] [<ffffffff81853013>] do_IRQ+0x53/0x100 [ 13.165537] [<ffffffff81850cf2>] ret_from_intr+0x0/0x1a [ 13.165574] [<ffffffff8169f337>] cpuidle_enter+0x17/0x20 [ 13.165612] [<ffffffff810d01f1>] cpu_idle_loop+0x401/0x4e0 [ 13.165649] [<ffffffff810d032b>] cpu_startup_entry+0x5b/0x60 [ 13.165685] [<ffffffff81832b5d>] rest_init+0x13d/0x150 [ 13.165723] [<ffffffff81f5a112>] start_kernel+0x4aa/0x4b7 [ 13.165760] [<ffffffff81f595ee>] x86_64_start_reservations+0x2a/0x2c [ 13.165797] [<ffffffff81f59733>] x86_64_start_kernel+0x143/0x152 [ 13.165922] INITIAL USE at: [ 13.165958] [<ffffffff810dbdd4>] __lock_acquire+0x314/0xaf0 [ 13.165995] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.166032] [<ffffffff8184fae1>] _raw_spin_lock_irqsave+0x51/0x70 [ 13.166068] [<ffffffff81650415>] input_event+0x45/0x70 [ 13.166105] [<ffffffff81651cae>] perdevice_input_led_set+0x4e/0x70 [ 13.166142] [<ffffffff81651ed0>] input_led_connect+0x1c0/0x230 [ 13.166179] [<ffffffff8164f311>] input_register_device+0x4f1/0x5c0 [ 13.166216] [<ffffffffc02fffbd>] hidinput_connect+0x33d/0x5f0 [hid] [ 13.166256] [<ffffffffc02fc4cd>] hid_connect+0x2fd/0x380 [hid] [ 13.166295] [<ffffffffc02fcba4>] hid_device_probe+0x144/0x160 [hid] [ 13.166334] [<ffffffff815409cd>] driver_probe_device+0x12d/0x3e0 [ 13.166372] [<ffffffff81540d63>] __driver_attach+0xa3/0xb0 [ 13.166408] [<ffffffff8153e7cb>] bus_for_each_dev+0x6b/0xb0 [ 13.166445] [<ffffffff8154038e>] driver_attach+0x1e/0x20 [ 13.166482] [<ffffffff8153ff68>] bus_add_driver+0x188/0x260 [ 13.166518] [<ffffffff81541c04>] driver_register+0x64/0xf0 [ 13.166555] [<ffffffffc02fa108>] __hid_register_driver+0x68/0xb0 [hid] [ 13.166594] [<ffffffffc02d501e>] load_misc_binary+0x1e/0x450 [binfmt_misc] [ 13.166633] [<ffffffff81002144>] do_one_initcall+0xd4/0x210 [ 13.166671] [<ffffffff81124610>] load_module+0x1490/0x1d20 [ 13.166709] [<ffffffff81125036>] SyS_finit_module+0x86/0xb0 [ 13.166746] [<ffffffff8185002d>] system_call_fastpath+0x16/0x1b [ 13.166783] } [ 13.166890] ... key at: [<ffffffff82eb2b14>] __key.28123+0x0/0x8 [ 13.166926] ... acquired at: [ 13.166944] [<ffffffff810d9a29>] check_usage_forwards+0x169/0x170 [ 13.166981] [<ffffffff810db371>] mark_lock+0x1a1/0x2a0 [ 13.167017] [<ffffffff810dc0fd>] __lock_acquire+0x63d/0xaf0 [ 13.167055] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.167091] [<ffffffff8184fae1>] _raw_spin_lock_irqsave+0x51/0x70 [ 13.167127] [<ffffffff81650415>] input_event+0x45/0x70 [ 13.167163] [<ffffffffc02fd0ff>] hidinput_report_event+0x3f/0x50 [hid] [ 13.167203] [<ffffffffc02fb248>] hid_report_raw_event+0x148/0x1c0 [hid] [ 13.167242] [<ffffffffc02fb3d2>] hid_input_report+0x112/0x190 [hid] [ 13.167282] [<ffffffffc0361cb2>] hid_irq_in+0xb2/0x250 [usbhid] [ 13.167321] [<ffffffff815ffa33>] __usb_hcd_giveback_urb+0x83/0x130 [ 13.167358] [<ffffffff815ffbf3>] usb_hcd_giveback_urb+0x43/0x150 [ 13.167395] [<ffffffff8164115f>] handle_tx_event+0x22f/0x12b0 [ 13.167432] [<ffffffff81642496>] xhci_irq+0x2b6/0xa60 [ 13.167469] [<ffffffff81642c51>] xhci_msi_irq+0x11/0x20 [ 13.167506] [<ffffffff810f1291>] handle_irq_event_percpu+0x41/0x500 [ 13.167543] [<ffffffff810f1791>] handle_irq_event+0x41/0x70 [ 13.167579] [<ffffffff810f460f>] handle_edge_irq+0x7f/0x120 [ 13.167616] [<ffffffff81020a92>] handle_irq+0x22/0x40 [ 13.167652] [<ffffffff81853013>] do_IRQ+0x53/0x100 [ 13.167689] [<ffffffff81850cf2>] ret_from_intr+0x0/0x1a [ 13.167726] [<ffffffff8169f337>] cpuidle_enter+0x17/0x20 [ 13.167849] [<ffffffff810d01f1>] cpu_idle_loop+0x401/0x4e0 [ 13.167886] [<ffffffff810d032b>] cpu_startup_entry+0x5b/0x60 [ 13.167923] [<ffffffff81832b5d>] rest_init+0x13d/0x150 [ 13.167960] [<ffffffff81f5a112>] start_kernel+0x4aa/0x4b7 [ 13.167997] [<ffffffff81f595ee>] x86_64_start_reservations+0x2a/0x2c [ 13.168033] [<ffffffff81f59733>] x86_64_start_kernel+0x143/0x152 [ 13.168070] [ 13.168088] [ 13.168088] stack backtrace: [ 13.168107] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.17.0-999-generic #201409212205 [ 13.168126] Hardware name: MSI MS-7924/Z97M-G43(MS-7924), BIOS V1.5 07/22/2014 [ 13.168144] ffffffff81e1d4c0 ffff88041fa039b8 ffffffff8184569f 0000000000000000 [ 13.168234] ffffffff82be5960 ffff88041fa03a08 ffffffff8183e1b2 ffff88041fa03a30 [ 13.168324] ffffffff81cbf66c ffff88041fa03a1c 0000000000000000 ffffffff81e1dd58 [ 13.168415] Call Trace: [ 13.168434] <IRQ> [<ffffffff8184569f>] dump_stack+0x4e/0x68 [ 13.168475] [<ffffffff8183e1b2>] print_irq_inversion_bug.part.37+0x1ae/0x1bd [ 13.168496] [<ffffffff810d9a29>] check_usage_forwards+0x169/0x170 [ 13.168517] [<ffffffff810d98c0>] ? check_usage_backwards+0x170/0x170 [ 13.168538] [<ffffffff810db371>] mark_lock+0x1a1/0x2a0 [ 13.168559] [<ffffffff810dc0fd>] __lock_acquire+0x63d/0xaf0 [ 13.168582] [<ffffffffc02fafcd>] ? hid_input_field+0x11d/0x250 [hid] [ 13.168607] [<ffffffff810dcd66>] lock_acquire+0xd6/0x2e0 [ 13.168628] [<ffffffff81650415>] ? input_event+0x45/0x70 [ 13.168648] [<ffffffff8184fae1>] _raw_spin_lock_irqsave+0x51/0x70 [ 13.168669] [<ffffffff81650415>] ? input_event+0x45/0x70 [ 13.168691] [<ffffffffc02fafcd>] ? hid_input_field+0x11d/0x250 [hid] [ 13.168716] [<ffffffff81650415>] input_event+0x45/0x70 [ 13.168738] [<ffffffffc02fd0ff>] hidinput_report_event+0x3f/0x50 [hid] [ 13.168852] [<ffffffffc02fb248>] hid_report_raw_event+0x148/0x1c0 [hid] [ 13.168879] [<ffffffffc02fb3d2>] hid_input_report+0x112/0x190 [hid] [ 13.168905] [<ffffffffc0361cb2>] hid_irq_in+0xb2/0x250 [usbhid] [ 13.168931] [<ffffffff815ffa33>] __usb_hcd_giveback_urb+0x83/0x130 [ 13.168951] [<ffffffff815ffbf3>] usb_hcd_giveback_urb+0x43/0x150 [ 13.168972] [<ffffffff8164115f>] handle_tx_event+0x22f/0x12b0 [ 13.168992] [<ffffffff8164220c>] ? xhci_irq+0x2c/0xa60 [ 13.169013] [<ffffffff81642496>] xhci_irq+0x2b6/0xa60 [ 13.169034] [<ffffffff81642c51>] xhci_msi_irq+0x11/0x20 [ 13.169055] [<ffffffff810f1291>] handle_irq_event_percpu+0x41/0x500 [ 13.169075] [<ffffffff810f1791>] handle_irq_event+0x41/0x70 [ 13.169096] [<ffffffff810f45ae>] ? handle_edge_irq+0x1e/0x120 [ 13.169117] [<ffffffff810f460f>] handle_edge_irq+0x7f/0x120 [ 13.169137] [<ffffffff81020a92>] handle_irq+0x22/0x40 [ 13.169158] [<ffffffff81853013>] do_IRQ+0x53/0x100 [ 13.169178] [<ffffffff81850cf2>] common_interrupt+0x72/0x72 [ 13.169198] <EOI> [<ffffffff8169eff5>] ? cpuidle_enter_state+0x75/0x300 [ 13.169240] [<ffffffff8169efee>] ? cpuidle_enter_state+0x6e/0x300 [ 13.169260] [<ffffffff8169f337>] cpuidle_enter+0x17/0x20 [ 13.169280] [<ffffffff810d01f1>] cpu_idle_loop+0x401/0x4e0 [ 13.169301] [<ffffffff810d032b>] cpu_startup_entry+0x5b/0x60 [ 13.169322] [<ffffffff81832b5d>] rest_init+0x13d/0x150 [ 13.169342] [<ffffffff81832a25>] ? rest_init+0x5/0x150 [ 13.169363] [<ffffffff81f81c95>] ? ftrace_init+0xc6/0x159 [ 13.169383] [<ffffffff81f5a112>] start_kernel+0x4aa/0x4b7 [ 13.169404] [<ffffffff81f59a58>] ? set_init_arg+0x55/0x55 [ 13.169424] [<ffffffff81f59120>] ? early_idt_handlers+0x120/0x120 [ 13.169445] [<ffffffff81f595ee>] x86_64_start_reservations+0x2a/0x2c [ 13.169466] [<ffffffff81f59733>] x86_64_start_kernel+0x143/0x152 I also once saw "INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected" from send_sigio which might be related to this case so pasting it also here: [ 8.638031] ====================================================== [ 8.638032] [ INFO: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected ] [ 8.638034] 3.17.0-031700rc3-generic #201409031132 Not tainted [ 8.638034] ------------------------------------------------------ [ 8.638036] Xorg/1171 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: [ 8.638037] (tasklist_lock){.+.+..}, at: [<ffffffff812342d5>] send_sigio+0x55/0x1d0 [ 8.638043] [ 8.638043] and this task is already holding: [ 8.638044] (&f->f_owner.lock){......}, at: [<ffffffff812342aa>] send_sigio+0x2a/0x1d0 [ 8.638047] which would create a new lock dependency: [ 8.638047] (&f->f_owner.lock){......} -> (tasklist_lock){.+.+..} [ 8.638051] [ 8.638051] but this new dependency connects a HARDIRQ-irq-safe lock: [ 8.638052] (&(&dev->event_lock)->rlock#2){-.....} [ 8.638052] ... which became HARDIRQ-irq-safe at: [ 8.638054] [<ffffffff810d3c1d>] __lock_acquire+0x66d/0xb50 [ 8.638057] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638059] [<ffffffff81833e01>] _raw_spin_lock_irqsave+0x51/0x70 [ 8.638063] [<ffffffff8162f7c5>] input_event+0x45/0x70 [ 8.638065] [<ffffffffc053e07f>] hidinput_report_event+0x3f/0x50 [hid] [ 8.638072] [<ffffffffc053c1d8>] hid_report_raw_event+0x148/0x1c0 [hid] [ 8.638075] [<ffffffffc053c362>] hid_input_report+0x112/0x190 [hid] [ 8.638077] [<ffffffffc05a2c3c>] hid_irq_in+0x8c/0x210 [usbhid] [ 8.638079] [<ffffffff815e0a73>] __usb_hcd_giveback_urb+0x83/0x130 [ 8.638082] [<ffffffff815e0c2f>] usb_hcd_giveback_urb+0x3f/0x140 [ 8.638084] [<ffffffff816207cf>] handle_tx_event+0x22f/0x12b0 [ 8.638087] [<ffffffff81621b06>] xhci_irq+0x2b6/0xa60 [ 8.638089] [<ffffffff816222c1>] xhci_msi_irq+0x11/0x20 [ 8.638091] [<ffffffff810e7e8e>] handle_irq_event_percpu+0x3e/0x340 [ 8.638094] [<ffffffff810e81cd>] handle_irq_event+0x3d/0x60 [ 8.638096] [<ffffffff810eafef>] handle_edge_irq+0x7f/0x120 [ 8.638097] [<ffffffff8101c85e>] handle_irq+0x1e/0x30 [ 8.638101] [<ffffffff8183738f>] do_IRQ+0x4f/0xf0 [ 8.638103] [<ffffffff81835072>] ret_from_intr+0x0/0x1a [ 8.638105] [<ffffffff813f490d>] radix_tree_lookup+0xd/0x10 [ 8.638108] [<ffffffff8119e0da>] page_cache_next_hole+0x3a/0x50 [ 8.638110] [<ffffffff811acfd4>] ondemand_readahead+0x334/0x470 [ 8.638112] [<ffffffff811ad190>] page_cache_async_readahead+0x80/0xa0 [ 8.638114] [<ffffffff811a13d3>] filemap_fault+0x303/0x450 [ 8.638116] [<ffffffff811cbf59>] __do_fault+0x39/0x90 [ 8.638118] [<ffffffff811ce7df>] do_read_fault.isra.49+0x20f/0x2f0 [ 8.638119] [<ffffffff811d0618>] handle_mm_fault+0x7b8/0x10d0 [ 8.638121] [<ffffffff81066fe4>] __do_page_fault+0x1d4/0x5a0 [ 8.638123] [<ffffffff810673e1>] do_page_fault+0x31/0x70 [ 8.638124] [<ffffffff81836568>] page_fault+0x28/0x30 [ 8.638126] [ 8.638126] to a HARDIRQ-irq-unsafe lock: [ 8.638127] (&(&p->alloc_lock)->rlock){+.+...} [ 8.638127] ... which became HARDIRQ-irq-unsafe at: [ 8.638129] ... [<ffffffff810d3ae8>] __lock_acquire+0x538/0xb50 [ 8.638131] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638132] [<ffffffff818334e9>] _raw_spin_lock+0x39/0x50 [ 8.638135] [<ffffffff81227f0a>] __set_task_comm+0x2a/0x150 [ 8.638138] [<ffffffff810a15c0>] kthreadd+0x30/0x220 [ 8.638140] [<ffffffff818342bc>] ret_from_fork+0x7c/0xb0 [ 8.638143] [ 8.638143] other info that might help us debug this: [ 8.638143] [ 8.638144] Chain exists of: [ 8.638144] &(&dev->event_lock)->rlock#2 --> &f->f_owner.lock --> &(&p->alloc_lock)->rlock [ 8.638144] [ 8.638147] Possible interrupt unsafe locking scenario: [ 8.638147] [ 8.638148] CPU0 CPU1 [ 8.638148] ---- ---- [ 8.638149] lock(&(&p->alloc_lock)->rlock); [ 8.638150] local_irq_disable(); [ 8.638151] lock(&(&dev->event_lock)->rlock#2); [ 8.638152] lock(&f->f_owner.lock); [ 8.638154] <Interrupt> [ 8.638154] lock(&(&dev->event_lock)->rlock#2); [ 8.638156] [ 8.638156] *** DEADLOCK *** [ 8.638156] [ 8.638157] 9 locks held by Xorg/1171: [ 8.638158] #0: (&evdev->mutex){+.+...}, at: [<ffffffff8163486d>] evdev_write+0x8d/0x220 [ 8.638161] #1: (&(&dev->event_lock)->rlock#2){-.....}, at: [<ffffffff8162f84e>] input_inject_event+0x5e/0x230 [ 8.638165] #2: (rcu_read_lock){......}, at: [<ffffffff8162f835>] input_inject_event+0x45/0x230 [ 8.638168] #3: (rcu_read_lock){......}, at: [<ffffffff8162e6e5>] input_pass_values.part.6+0x5/0x370 [ 8.638171] #4: (rcu_read_lock){......}, at: [<ffffffff81634a05>] evdev_events+0x5/0x2f0 [ 8.638174] #5: (&(&client->buffer_lock)->rlock){......}, at: [<ffffffff81632fd3>] evdev_pass_values+0x63/0x1c0 [ 8.638177] #6: (rcu_read_lock){......}, at: [<ffffffff81234471>] kill_fasync+0x21/0x2a0 [ 8.638180] #7: (&(&new->fa_lock)->rlock){......}, at: [<ffffffff812344ee>] kill_fasync+0x9e/0x2a0 [ 8.638183] #8: (&f->f_owner.lock){......}, at: [<ffffffff812342aa>] send_sigio+0x2a/0x1d0 [ 8.638186] [ 8.638186] the dependencies between HARDIRQ-irq-safe lock and the holding lock: [ 8.638189] -> (&(&dev->event_lock)->rlock#2){-.....} ops: 134 { [ 8.638192] IN-HARDIRQ-W at: [ 8.638193] [<ffffffff810d3c1d>] __lock_acquire+0x66d/0xb50 [ 8.638195] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638197] [<ffffffff81833e01>] _raw_spin_lock_irqsave+0x51/0x70 [ 8.638199] [<ffffffff8162f7c5>] input_event+0x45/0x70 [ 8.638201] [<ffffffffc053e07f>] hidinput_report_event+0x3f/0x50 [hid] [ 8.638204] [<ffffffffc053c1d8>] hid_report_raw_event+0x148/0x1c0 [hid] [ 8.638207] [<ffffffffc053c362>] hid_input_report+0x112/0x190 [hid] [ 8.638209] [<ffffffffc05a2c3c>] hid_irq_in+0x8c/0x210 [usbhid] [ 8.638211] [<ffffffff815e0a73>] __usb_hcd_giveback_urb+0x83/0x130 [ 8.638213] [<ffffffff815e0c2f>] usb_hcd_giveback_urb+0x3f/0x140 [ 8.638215] [<ffffffff816207cf>] handle_tx_event+0x22f/0x12b0 [ 8.638218] [<ffffffff81621b06>] xhci_irq+0x2b6/0xa60 [ 8.638219] [<ffffffff816222c1>] xhci_msi_irq+0x11/0x20 [ 8.638221] [<ffffffff810e7e8e>] handle_irq_event_percpu+0x3e/0x340 [ 8.638224] [<ffffffff810e81cd>] handle_irq_event+0x3d/0x60 [ 8.638226] [<ffffffff810eafef>] handle_edge_irq+0x7f/0x120 [ 8.638228] [<ffffffff8101c85e>] handle_irq+0x1e/0x30 [ 8.638231] [<ffffffff8183738f>] do_IRQ+0x4f/0xf0 [ 8.638232] [<ffffffff81835072>] ret_from_intr+0x0/0x1a [ 8.638234] [<ffffffff813f490d>] radix_tree_lookup+0xd/0x10 [ 8.638237] [<ffffffff8119e0da>] page_cache_next_hole+0x3a/0x50 [ 8.638239] [<ffffffff811acfd4>] ondemand_readahead+0x334/0x470 [ 8.638241] [<ffffffff811ad190>] page_cache_async_readahead+0x80/0xa0 [ 8.638242] [<ffffffff811a13d3>] filemap_fault+0x303/0x450 [ 8.638244] [<ffffffff811cbf59>] __do_fault+0x39/0x90 [ 8.638246] [<ffffffff811ce7df>] do_read_fault.isra.49+0x20f/0x2f0 [ 8.638248] [<ffffffff811d0618>] handle_mm_fault+0x7b8/0x10d0 [ 8.638250] [<ffffffff81066fe4>] __do_page_fault+0x1d4/0x5a0 [ 8.638251] [<ffffffff810673e1>] do_page_fault+0x31/0x70 [ 8.638252] [<ffffffff81836568>] page_fault+0x28/0x30 [ 8.638254] INITIAL USE at: [ 8.638255] [<ffffffff810d38f4>] __lock_acquire+0x344/0xb50 [ 8.638257] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638259] [<ffffffff81833e01>] _raw_spin_lock_irqsave+0x51/0x70 [ 8.638261] [<ffffffff8162f7c5>] input_event+0x45/0x70 [ 8.638263] [<ffffffffc01a1edb>] snd_jack_report+0xbb/0xe0 [snd] [ 8.638270] [<ffffffffc076a2f1>] __snd_hda_jack_add_kctl+0x151/0x160 [snd_hda_codec] [ 8.638276] [<ffffffffc076a314>] snd_hda_jack_add_kctl+0x14/0x20 [snd_hda_codec] [ 8.638280] [<ffffffffc04d36e4>] generic_hdmi_build_jack+0xd4/0x150 [snd_hda_codec_hdmi] [ 8.638282] [<ffffffffc04d50c6>] generic_hdmi_build_controls+0x46/0x210 [snd_hda_codec_hdmi] [ 8.638284] [<ffffffffc07693d5>] snd_hda_codec_build_controls+0x1c5/0x220 [snd_hda_codec] [ 8.638288] [<ffffffffc0769473>] snd_hda_build_controls+0x43/0xa0 [snd_hda_codec] [ 8.638291] [<ffffffffc035d365>] azx_mixer_create+0x15/0x20 [snd_hda_controller] [ 8.638294] [<ffffffffc0372751>] azx_probe_continue+0x361/0x710 [snd_hda_intel] [ 8.638296] [<ffffffffc0372b95>] azx_probe_work+0x15/0x20 [snd_hda_intel] [ 8.638298] [<ffffffff8109a5f3>] process_one_work+0x1e3/0x650 [ 8.638300] [<ffffffff8109ab81>] worker_thread+0x121/0x490 [ 8.638301] [<ffffffff810a0adc>] kthread+0xfc/0x120 [ 8.638303] [<ffffffff818342bc>] ret_from_fork+0x7c/0xb0 [ 8.638305] } [ 8.638305] ... key at: [<ffffffff82eae054>] __key.28093+0x0/0x8 [ 8.638308] ... acquired at: [ 8.638308] [<ffffffff810d39c8>] __lock_acquire+0x418/0xb50 [ 8.638311] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638312] [<ffffffff8183382c>] _raw_read_lock+0x3c/0x50 [ 8.638314] [<ffffffffc019d7cb>] snd_ctl_notify+0x4b/0x1d0 [snd] [ 8.638318] [<ffffffffc01a1be4>] snd_kctl_jack_report+0x24/0x30 [snd] [ 8.638321] [<ffffffffc076a040>] snd_hda_jack_report_sync+0xc0/0xe0 [snd_hda_codec] [ 8.638327] [<ffffffffc04d4f32>] jack_callback+0x82/0x90 [snd_hda_codec_hdmi] [ 8.638329] [<ffffffffc04d4feb>] hdmi_unsol_event+0xab/0x140 [snd_hda_codec_hdmi] [ 8.638330] [<ffffffffc0760187>] process_unsol_events+0x67/0x80 [snd_hda_codec] [ 8.638333] [<ffffffff8109a5f3>] process_one_work+0x1e3/0x650 [ 8.638334] [<ffffffff8109ab81>] worker_thread+0x121/0x490 [ 8.638336] [<ffffffff810a0adc>] kthread+0xfc/0x120 [ 8.638337] [<ffffffff818342bc>] ret_from_fork+0x7c/0xb0 [ 8.638339] [ 8.638340] -> (&(&client->buffer_lock)->rlock){......} ops: 12 { [ 8.638342] INITIAL USE at: [ 8.638343] [<ffffffff810d38f4>] __lock_acquire+0x344/0xb50 [ 8.638345] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638346] [<ffffffff818334e9>] _raw_spin_lock+0x39/0x50 [ 8.638348] [<ffffffff81632fd3>] evdev_pass_values+0x63/0x1c0 [ 8.638350] [<ffffffff81634bd3>] evdev_events+0x1d3/0x2f0 [ 8.638352] [<ffffffff8162ba77>] input_to_handler+0x97/0xf0 [ 8.638354] [<ffffffff8162e9ac>] input_pass_values.part.6+0x2cc/0x370 [ 8.638355] [<ffffffff8162f361>] input_handle_event+0x121/0x540 [ 8.638357] [<ffffffff8162f7d9>] input_event+0x59/0x70 [ 8.638359] [<ffffffffc01a1ef0>] snd_jack_report+0xd0/0xe0 [snd] [ 8.638362] [<ffffffffc076a058>] snd_hda_jack_report_sync+0xd8/0xe0 [snd_hda_codec] [ 8.638366] [<ffffffffc04d4f32>] jack_callback+0x82/0x90 [snd_hda_codec_hdmi] [ 8.638367] [<ffffffffc04d4feb>] hdmi_unsol_event+0xab/0x140 [snd_hda_codec_hdmi] [ 8.638369] [<ffffffffc0760187>] process_unsol_events+0x67/0x80 [snd_hda_codec] [ 8.638372] [<ffffffff8109a5f3>] process_one_work+0x1e3/0x650 [ 8.638373] [<ffffffff8109ab81>] worker_thread+0x121/0x490 [ 8.638374] [<ffffffff810a0adc>] kthread+0xfc/0x120 [ 8.638376] [<ffffffff818342bc>] ret_from_fork+0x7c/0xb0 [ 8.638378] } [ 8.638378] ... key at: [<ffffffff82eae118>] __key.29718+0x0/0x8 [ 8.638380] ... acquired at: [ 8.638381] [<ffffffff810d39c8>] __lock_acquire+0x418/0xb50 [ 8.638383] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638384] [<ffffffff81833e01>] _raw_spin_lock_irqsave+0x51/0x70 [ 8.638386] [<ffffffff814170e2>] __percpu_counter_add+0x42/0x80 [ 8.638388] [<ffffffff812a77d6>] ext4_claim_free_clusters+0x36/0x40 [ 8.638390] [<ffffffff812ea133>] ext4_mb_new_blocks+0xa3/0x760 [ 8.638392] [<ffffffff812dd5a6>] ext4_ext_map_blocks+0x676/0x13c0 [ 8.638394] [<ffffffff812b0751>] ext4_map_blocks+0x151/0x500 [ 8.638395] [<ffffffff812d77ef>] ext4_alloc_file_blocks.isra.39+0xcf/0x2b0 [ 8.638397] [<ffffffff812df4af>] ext4_fallocate+0xef/0xb80 [ 8.638398] [<ffffffff8121e8d7>] do_fallocate+0x127/0x1c0 [ 8.638400] [<ffffffff8121e9b4>] SyS_fallocate+0x44/0x70 [ 8.638402] [<ffffffff8183436d>] system_call_fastpath+0x1a/0x1f [ 8.638404] [ 8.638405] -> (&(&new->fa_lock)->rlock){......} ops: 1 { [ 8.638407] INITIAL USE at: [ 8.638408] [<ffffffff810d38f4>] __lock_acquire+0x344/0xb50 [ 8.638410] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638411] [<ffffffff81833e01>] _raw_spin_lock_irqsave+0x51/0x70 [ 8.638413] [<ffffffff812344ee>] kill_fasync+0x9e/0x2a0 [ 8.638415] [<ffffffff81633063>] evdev_pass_values+0xf3/0x1c0 [ 8.638417] [<ffffffff81634bd3>] evdev_events+0x1d3/0x2f0 [ 8.638419] [<ffffffff8162ba77>] input_to_handler+0x97/0xf0 [ 8.638420] [<ffffffff8162e9ac>] input_pass_values.part.6+0x2cc/0x370 [ 8.638422] [<ffffffff8162f361>] input_handle_event+0x121/0x540 [ 8.638424] [<ffffffff8162f988>] input_inject_event+0x198/0x230 [ 8.638425] [<ffffffff8163497c>] evdev_write+0x19c/0x220 [ 8.638427] [<ffffffff812208f7>] vfs_write+0xb7/0x1f0 [ 8.638428] [<ffffffff81221359>] SyS_write+0x49/0xb0 [ 8.638430] [<ffffffff8183436d>] system_call_fastpath+0x1a/0x1f [ 8.638432] } [ 8.638432] ... key at: [<ffffffff82e84274>] __key.36822+0x0/0x8 [ 8.638435] ... acquired at: [ 8.638436] [<ffffffff810d39c8>] __lock_acquire+0x418/0xb50 [ 8.638437] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638439] [<ffffffff8183382c>] _raw_read_lock+0x3c/0x50 [ 8.638441] [<ffffffff812342aa>] send_sigio+0x2a/0x1d0 [ 8.638442] [<ffffffff8123451c>] kill_fasync+0xcc/0x2a0 [ 8.638444] [<ffffffff81633063>] evdev_pass_values+0xf3/0x1c0 [ 8.638445] [<ffffffff81634bd3>] evdev_events+0x1d3/0x2f0 [ 8.638447] [<ffffffff8162ba77>] input_to_handler+0x97/0xf0 [ 8.638449] [<ffffffff8162e9ac>] input_pass_values.part.6+0x2cc/0x370 [ 8.638450] [<ffffffff8162f361>] input_handle_event+0x121/0x540 [ 8.638452] [<ffffffff8162f988>] input_inject_event+0x198/0x230 [ 8.638453] [<ffffffff8163497c>] evdev_write+0x19c/0x220 [ 8.638455] [<ffffffff812208f7>] vfs_write+0xb7/0x1f0 [ 8.638456] [<ffffffff81221359>] SyS_write+0x49/0xb0 [ 8.638458] [<ffffffff8183436d>] system_call_fastpath+0x1a/0x1f [ 8.638459] [ 8.638460] -> (&f->f_owner.lock){......} ops: 8 { [ 8.638462] INITIAL USE at: [ 8.638463] [<ffffffff810d38f4>] __lock_acquire+0x344/0xb50 [ 8.638465] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638466] [<ffffffff81833ba5>] _raw_write_lock_irq+0x45/0x60 [ 8.638468] [<ffffffff81233687>] __f_setown+0x47/0xe0 [ 8.638470] [<ffffffff812337bd>] f_setown+0x7d/0x120 [ 8.638471] [<ffffffff81233f01>] SyS_fcntl+0x341/0x6c0 [ 8.638473] [<ffffffff8183436d>] system_call_fastpath+0x1a/0x1f [ 8.638475] } [ 8.638475] ... key at: [<ffffffff82e83920>] __key.31233+0x0/0x8 [ 8.638477] ... acquired at: [ 8.638478] [<ffffffff810d1a7a>] check_irq_usage+0x4a/0xc0 [ 8.638479] [<ffffffff810d2324>] validate_chain.isra.40+0x834/0x10e0 [ 8.638481] [<ffffffff810d39c8>] __lock_acquire+0x418/0xb50 [ 8.638483] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638484] [<ffffffff8183382c>] _raw_read_lock+0x3c/0x50 [ 8.638486] [<ffffffff812342d5>] send_sigio+0x55/0x1d0 [ 8.638487] [<ffffffff8123451c>] kill_fasync+0xcc/0x2a0 [ 8.638489] [<ffffffff81633063>] evdev_pass_values+0xf3/0x1c0 [ 8.638490] [<ffffffff81634bd3>] evdev_events+0x1d3/0x2f0 [ 8.638492] [<ffffffff8162ba77>] input_to_handler+0x97/0xf0 [ 8.638494] [<ffffffff8162e9ac>] input_pass_values.part.6+0x2cc/0x370 [ 8.638495] [<ffffffff8162f361>] input_handle_event+0x121/0x540 [ 8.638497] [<ffffffff8162f988>] input_inject_event+0x198/0x230 [ 8.638498] [<ffffffff8163497c>] evdev_write+0x19c/0x220 [ 8.638500] [<ffffffff812208f7>] vfs_write+0xb7/0x1f0 [ 8.638501] [<ffffffff81221359>] SyS_write+0x49/0xb0 [ 8.638503] [<ffffffff8183436d>] system_call_fastpath+0x1a/0x1f [ 8.638504] [ 8.638505] [ 8.638505] the dependencies between the lock to be acquired and HARDIRQ-irq-unsafe lock: [ 8.638508] -> (&(&p->alloc_lock)->rlock){+.+...} ops: 28696 { [ 8.638511] HARDIRQ-ON-W at: [ 8.638512] [<ffffffff810d3ae8>] __lock_acquire+0x538/0xb50 [ 8.638513] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638515] [<ffffffff818334e9>] _raw_spin_lock+0x39/0x50 [ 8.638517] [<ffffffff81227f0a>] __set_task_comm+0x2a/0x150 [ 8.638518] [<ffffffff810a15c0>] kthreadd+0x30/0x220 [ 8.638520] [<ffffffff818342bc>] ret_from_fork+0x7c/0xb0 [ 8.638522] SOFTIRQ-ON-W at: [ 8.638523] [<ffffffff810d38a3>] __lock_acquire+0x2f3/0xb50 [ 8.638524] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638526] [<ffffffff818334e9>] _raw_spin_lock+0x39/0x50 [ 8.638528] [<ffffffff81227f0a>] __set_task_comm+0x2a/0x150 [ 8.638530] [<ffffffff810a15c0>] kthreadd+0x30/0x220 [ 8.638531] [<ffffffff818342bc>] ret_from_fork+0x7c/0xb0 [ 8.638533] INITIAL USE at: [ 8.638534] [<ffffffff810d38f4>] __lock_acquire+0x344/0xb50 [ 8.638535] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638537] [<ffffffff818334e9>] _raw_spin_lock+0x39/0x50 [ 8.638539] [<ffffffff81227f0a>] __set_task_comm+0x2a/0x150 [ 8.638541] [<ffffffff810a15c0>] kthreadd+0x30/0x220 [ 8.638542] [<ffffffff818342bc>] ret_from_fork+0x7c/0xb0 [ 8.638544] } [ 8.638544] ... key at: [<ffffffff82119008>] __key.51772+0x0/0x8 [ 8.638546] ... acquired at: [ 8.638547] [<ffffffff810d39c8>] __lock_acquire+0x418/0xb50 [ 8.638548] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638550] [<ffffffff818334e9>] _raw_spin_lock+0x39/0x50 [ 8.638552] [<ffffffff81093eeb>] do_prlimit+0x9b/0x200 [ 8.638554] [<ffffffff8109407a>] SyS_getrlimit+0x2a/0x70 [ 8.638556] [<ffffffff8183436d>] system_call_fastpath+0x1a/0x1f [ 8.638558] [ 8.638558] -> (tasklist_lock){.+.+..} ops: 26264 { [ 8.638561] HARDIRQ-ON-R at: [ 8.638562] [<ffffffff810d3881>] __lock_acquire+0x2d1/0xb50 [ 8.638563] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638565] [<ffffffff8183382c>] _raw_read_lock+0x3c/0x50 [ 8.638567] [<ffffffff8107d796>] do_wait+0xb6/0x340 [ 8.638568] [<ffffffff8107ed54>] SyS_wait4+0x64/0xe0 [ 8.638569] [<ffffffff8109500b>] wait_for_helper+0x4b/0x70 [ 8.638571] [<ffffffff818342bc>] ret_from_fork+0x7c/0xb0 [ 8.638573] SOFTIRQ-ON-R at: [ 8.638574] [<ffffffff810d38a3>] __lock_acquire+0x2f3/0xb50 [ 8.638575] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638577] [<ffffffff8183382c>] _raw_read_lock+0x3c/0x50 [ 8.638579] [<ffffffff8107d796>] do_wait+0xb6/0x340 [ 8.638580] [<ffffffff8107ed54>] SyS_wait4+0x64/0xe0 [ 8.638581] [<ffffffff8109500b>] wait_for_helper+0x4b/0x70 [ 8.638583] [<ffffffff818342bc>] ret_from_fork+0x7c/0xb0 [ 8.638585] INITIAL USE at: [ 8.638585] [<ffffffff810d38f4>] __lock_acquire+0x344/0xb50 [ 8.638587] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638589] [<ffffffff81833ba5>] _raw_write_lock_irq+0x45/0x60 [ 8.638591] [<ffffffff81078861>] copy_process.part.23+0xcf1/0x1e50 [ 8.638593] [<ffffffff81079b6e>] do_fork+0xce/0x750 [ 8.638594] [<ffffffff8107a216>] kernel_thread+0x26/0x30 [ 8.638596] [<ffffffff81817bb3>] rest_init+0x23/0x140 [ 8.638598] [<ffffffff81f590ee>] start_kernel+0x499/0x4a4 [ 8.638600] [<ffffffff81f585ee>] x86_64_start_reservations+0x2a/0x2c [ 8.638602] [<ffffffff81f58733>] x86_64_start_kernel+0x143/0x152 [ 8.638604] } [ 8.638604] ... key at: [<ffffffff81e0f058>] tasklist_lock+0x18/0x40 [ 8.638607] ... acquired at: [ 8.638608] [<ffffffff810d1a7a>] check_irq_usage+0x4a/0xc0 [ 8.638610] [<ffffffff810d2324>] validate_chain.isra.40+0x834/0x10e0 [ 8.638611] [<ffffffff810d39c8>] __lock_acquire+0x418/0xb50 [ 8.638613] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638614] [<ffffffff8183382c>] _raw_read_lock+0x3c/0x50 [ 8.638616] [<ffffffff812342d5>] send_sigio+0x55/0x1d0 [ 8.638618] [<ffffffff8123451c>] kill_fasync+0xcc/0x2a0 [ 8.638619] [<ffffffff81633063>] evdev_pass_values+0xf3/0x1c0 [ 8.638621] [<ffffffff81634bd3>] evdev_events+0x1d3/0x2f0 [ 8.638623] [<ffffffff8162ba77>] input_to_handler+0x97/0xf0 [ 8.638624] [<ffffffff8162e9ac>] input_pass_values.part.6+0x2cc/0x370 [ 8.638626] [<ffffffff8162f361>] input_handle_event+0x121/0x540 [ 8.638628] [<ffffffff8162f988>] input_inject_event+0x198/0x230 [ 8.638629] [<ffffffff8163497c>] evdev_write+0x19c/0x220 [ 8.638631] [<ffffffff812208f7>] vfs_write+0xb7/0x1f0 [ 8.638632] [<ffffffff81221359>] SyS_write+0x49/0xb0 [ 8.638633] [<ffffffff8183436d>] system_call_fastpath+0x1a/0x1f [ 8.638635] [ 8.638636] [ 8.638636] stack backtrace: [ 8.638638] CPU: 0 PID: 1171 Comm: Xorg Not tainted 3.17.0-031700rc3-generic #201409031132 [ 8.638639] Hardware name: MSI MS-7924/Z97M-G43(MS-7924), BIOS V1.5 07/22/2014 [ 8.638640] ffffffff8285faa0 ffff880404003958 ffffffff81829c6a ffffffff82bd77a0 [ 8.638642] ffff880404003a58 ffffffff810d1a1a 0000000000000000 ffff880400000000 [ 8.638644] ffffffff00000001 ffff880404003ff8 ffffffff82c27d60 ffffffff82bd77a0 [ 8.638646] Call Trace: [ 8.638650] [<ffffffff81829c6a>] dump_stack+0x4d/0x66 [ 8.638652] [<ffffffff810d1a1a>] check_usage+0x50a/0x520 [ 8.638655] [<ffffffff81119536>] ? is_module_text_address+0x16/0x30 [ 8.638657] [<ffffffff810d1a7a>] check_irq_usage+0x4a/0xc0 [ 8.638659] [<ffffffff810d2324>] validate_chain.isra.40+0x834/0x10e0 [ 8.638661] [<ffffffff810d39c8>] __lock_acquire+0x418/0xb50 [ 8.638663] [<ffffffff810d48f9>] lock_acquire+0xa9/0x200 [ 8.638665] [<ffffffff812342d5>] ? send_sigio+0x55/0x1d0 [ 8.638667] [<ffffffff8183382c>] _raw_read_lock+0x3c/0x50 [ 8.638668] [<ffffffff812342d5>] ? send_sigio+0x55/0x1d0 [ 8.638670] [<ffffffff812342d5>] send_sigio+0x55/0x1d0 [ 8.638671] [<ffffffff8123451c>] kill_fasync+0xcc/0x2a0 [ 8.638673] [<ffffffff81234471>] ? kill_fasync+0x21/0x2a0 [ 8.638675] [<ffffffff81633063>] evdev_pass_values+0xf3/0x1c0 [ 8.638677] [<ffffffff81634bd3>] evdev_events+0x1d3/0x2f0 [ 8.638679] [<ffffffff81634a05>] ? evdev_events+0x5/0x2f0 [ 8.638681] [<ffffffff8162ba77>] input_to_handler+0x97/0xf0 [ 8.638683] [<ffffffff8162e9ac>] input_pass_values.part.6+0x2cc/0x370 [ 8.638684] [<ffffffff8162e6e5>] ? input_pass_values.part.6+0x5/0x370 [ 8.638686] [<ffffffff8162f361>] input_handle_event+0x121/0x540 [ 8.638688] [<ffffffff8162f988>] input_inject_event+0x198/0x230 [ 8.638690] [<ffffffff8162f835>] ? input_inject_event+0x45/0x230 [ 8.638692] [<ffffffff8163497c>] evdev_write+0x19c/0x220 [ 8.638693] [<ffffffff812208f7>] vfs_write+0xb7/0x1f0 [ 8.638695] [<ffffffff81221359>] SyS_write+0x49/0xb0 [ 8.638697] [<ffffffff8183436d>] system_call_fastpath+0x1a/0x1f ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-09-22 12:40 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-08-19 0:24 fs: INFO: possible irq lock inversion dependency detected in kill_fasync Sasha Levin 2014-09-03 12:52 ` Sasha Levin 2014-09-18 20:17 ` Sasha Levin 2014-09-22 11:02 ` Borislav Petkov 2014-09-22 12:40 ` Kari Suvanto
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).