[PATCH 2/3] FS-Cache: Reduce cookie ref count if submit fails.

From: Milosz Tanski
Date: Wed Aug 13 2014 - 12:58:29 EST


I've been seeing issues with disposing cookies under vma pressure. The symptom
is that the refcount gets out of sync. In this case we fail to decrement the
refcount if submit fails. I found this while auditing the error in and around
cookie operations.

Signed-off-by: Milosz Tanski <milosz@xxxxxxxxx>
---
fs/fscache/object.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/fs/fscache/object.c b/fs/fscache/object.c
index d3b4539..e1eb1f5 100644
--- a/fs/fscache/object.c
+++ b/fs/fscache/object.c
@@ -982,6 +982,8 @@ nomem:
submit_op_failed:
clear_bit(FSCACHE_OBJECT_IS_LIVE, &object->flags);
spin_unlock(&cookie->lock);
+ if (__fscache_unuse_cookie(cookie))
+ __fscache_wake_unused_cookie(cookie);
kfree(op);
_leave(" [EIO]");
return transit_to(KILL_OBJECT);
--
1.7.9.5


--
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/