Possible deadlock in jfs_imap.c?

From: Jan Kucera
Date: Sat May 23 2009 - 11:19:41 EST


Hi,

for my master thesis, I've designed static checker for finding deadlocks in C.
My tool found some possible deadlock in file fs/jfs/jfs_imap.c
between JFS_IP(ipimap)->commit_mutex and  imap->im_aglock[agno].

Reason of this problem is probably missed unlocking of
JFS_IP(ipimap)->commit_mutex in branch starting at line 2564 which
leaves JFS_IP(ipimap)->commit_mutex locked:

    in function diNewIAG(..)
        locking mutex_lock(&JFS_IP(ipimap)->commit_mutex) at line 2540
        condition at line 2543 is false
        condition at line 2564 is true
        goto out: at 2579
        IAGFREE_UNLOCK(imap); at line 2654
    return from diNewIAG(..) at line 2656

Version of kernel is 2.6.28 (maybe this code is in newer versions too).
Could someone confirm, that this is a real bug? Thank you for your time.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/