locks: eliminate BUG() call when there's an unexpected lock on file close
authorJeff Layton <jlayton@redhat.com>
Mon, 3 Feb 2014 17:13:07 +0000 (12:13 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 6 Dec 2014 23:55:39 +0000 (15:55 -0800)
commit2374aee49483447aff3fb330d5e8ee60fa0c9234
treeb7cf4ad967709e15e1828b04fa1dd51b41631d12
parent42be4e5c4a5da3f9e27d6e1420612c3aea11f658
locks: eliminate BUG() call when there's an unexpected lock on file close

commit 8c3cac5e6a85f03602ffe09c44f14418699e31ec upstream.

A leftover lock on the list is surely a sign of a problem of some sort,
but it's not necessarily a reason to panic the box. Instead, just log a
warning with some info about the lock, and then delete it like we would
any other lock.

In the event that the filesystem declares a ->lock f_op, we may end up
leaking something, but that's generally preferable to an immediate
panic.

Acked-by: J. Bruce Fields <bfields@fieldses.org>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Cc: Markus Blank-Burian <burian@muenster.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/locks.c