Messages in this thread | | | Subject | Re: [PATCH] UBI: Fix possible deadlock in erase_worker() | From | Artem Bityutskiy <> | Date | Wed, 17 Sep 2014 11:43:41 +0300 |
| |
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
| |