[PATCH] UBI: Fix possible deadlock in erase_worker()
Artem Bityutskiy
dedekind1 at gmail.com
Wed Sep 17 01:43:41 PDT 2014
On Wed, 2014-09-17 at 10:40 +0200, Richard Weinberger wrote:
> /*
> * nested locking. NOTE: rwsems are not allowed to recurse
> * (which occurs if the same task tries to acquire the same
> * lock instance multiple times), but multiple locks of the
> * same lock class might be taken, if the order of the locks
> * is always the same. This ordering rule can be expressed
> * to lockdep via the _nested() APIs, but enumerating the
> * subclasses that are used. (If the nesting relationship is
> * static then another method for expressing nested locking is
> * the explicit definition of lock class keys and the use of
> * lockdep_set_class() at lock initialization time.
> * See Documentation/lockdep-design.txt for more details.)
> */
>
> In this case the same task is taking the same lock multiple times,
> which is not allowed according to rwsem.h.
Yes, this part was missed, thanks.
--
Best Regards,
Artem Bityutskiy
More information about the linux-mtd
mailing list