• Matthew Wilcox's avatar
    [PATCH] fix posix_locks_deadlock() · 19c631d4
    Matthew Wilcox authored
    The "blocked_list" used for POSIX deadlock detection should only contain
    POSIX locks, or posix_locks_deadlock() can get confused.
    
    As I've noted before (but never posted a patch), we should probably stop
    checking for deadlock.  POSIX says it's optional for an implementation
    to check for deadlock, and since the change to match on tgid, we can
    report a deadlock when none exists.
    
    [ Further explanation for Linus: POSIX locks and BSD locks don't block
      each other, so checking that the blocker is a POSIX lock also implies
      that the waiter is a POSIX lock. ]
    19c631d4
locks.c 51.6 KB