Messages in this thread | | | Date | Fri, 01 Jul 2011 17:30:57 -0700 (PDT) | Subject | Re: [PATCH] 6pack,mkiss: fix lock inconsistency | From | David Miller <> |
| |
From: Arnd Bergmann <arnd@arndb.de> Date: Fri, 1 Jul 2011 23:28:46 +0200
> Lockdep found a locking inconsistency in the mkiss_close function: > >> kernel: [ INFO: inconsistent lock state ] >> kernel: 2.6.39.1 #3 >> kernel: --------------------------------- >> kernel: inconsistent {IN-SOFTIRQ-R} -> {SOFTIRQ-ON-W} usage. >> kernel: ax25ipd/2813 [HC0[0]:SC0[0]:HE1:SE1] takes: >> kernel: (disc_data_lock){+++?.-}, at: [<ffffffffa018552b>] mkiss_close+0x1b/0x90 [mkiss] >> kernel: {IN-SOFTIRQ-R} state was registered at: > > The message hints that disc_data_lock is aquired with softirqs disabled, > but does not itself disable softirqs, which can in rare circumstances > lead to a deadlock. > The same problem is present in the 6pack driver, this patch fixes both > by using write_lock_bh instead of write_lock. > > Reported-by: Bernard F6BVP <f6bvp@free.fr> > Tested-by: Bernard F6BVP <f6bvp@free.fr> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > Acked-by: Ralf Baechle<ralf@linux-mips.org> > Cc: stable@kernel.org
Applied, thanks!
| |