Subject: Coverity: btrfs_tree_lock(): Program hangs

From: coverity-bot <[email-masked]>
Date: Mon, 11 Nov 2019 17:36:13 -0800

Hello!

This is an experimental automated report about issues detected by Coverity
from a scan of next-20191108 as part of the linux-next weekly scan project:
https://scan.coverity.com/projects/linux-next-weekly-scan

You're getting this email because you were associated with the identified
lines of code (noted below) that were touched by recent commits:

925baeddc5b0 ("Btrfs: Start btree concurrency work.")

Coverity reported the following:

*** CID 1487835:  Program hangs  (LOCK)
/fs/btrfs/locking.c: 437 in btrfs_tree_lock()
431     		goto again;
432     	}
433     	btrfs_assert_spinning_writers_get(eb);
434     	btrfs_assert_tree_write_locks_get(eb);
435     	eb->lock_owner = current->pid;
436     	trace_btrfs_tree_lock(eb, start_ns);
vvv     CID 1487835:  Program hangs  (LOCK)
vvv     Returning without unlocking "eb->lock".
437     }
438
439     /*
440      * Release the write lock, either blocking or spinning (ie. there's no need
441      * for an explicit blocking unlock, like btrfs_tree_read_unlock_blocking).
442      * This also ends the context for nesting, the read lock must have been

If this is a false positive, please let us know so we can mark it as
such, or teach the Coverity rules to be smarter. If not, please make
sure fixes get into linux-next. :) For patches fixing this, please
include these lines (but double-check the "Fixes" first):

Reported-by: coverity-bot <[email-masked]>
Addresses-Coverity-ID: 1487835 ("Program hangs")
Fixes: 925baeddc5b0 ("Btrfs: Start btree concurrency work.")

Thanks for your attention!

-- 
Coverity-bot