[PATCH 06/12] fscache: Detect multiple relinquishment of a cookie

From: David Howells
Date: Wed Apr 04 2018 - 18:07:31 EST


Report if an fscache cookie is relinquished multiple times by the netfs.

Signed-off-by: David <dhowells@xxxxxxxxxx>
---

fs/fscache/cookie.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/fscache/cookie.c b/fs/fscache/cookie.c
index d705125665f0..98d22f495cd8 100644
--- a/fs/fscache/cookie.c
+++ b/fs/fscache/cookie.c
@@ -602,7 +602,8 @@ void __fscache_relinquish_cookie(struct fscache_cookie *cookie, bool retire)
atomic_read(&cookie->n_active), retire);

/* No further netfs-accessing operations on this cookie permitted */
- set_bit(FSCACHE_COOKIE_RELINQUISHED, &cookie->flags);
+ if (test_and_set_bit(FSCACHE_COOKIE_RELINQUISHED, &cookie->flags))
+ BUG();

__fscache_disable_cookie(cookie, retire);