* [PATCH] ovl: lockdep annotate of nested OVL_I(inode)->lock
@ 2017-10-27 13:12 Amir Goldstein
0 siblings, 0 replies; only message in thread
From: Amir Goldstein @ 2017-10-27 13:12 UTC (permalink / raw)
To: Miklos Szeredi; +Cc: linux-unionfs
This fixes a lockdep splat when mounting a nested overlayfs.
Fixes: a015dafcaf5b ("ovl: use ovl_inode mutex to synchronize...")
Cc: <stable@vger.kernel.org> # v4.13
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
---
Miklos,
Another v4.13 fix for a very minor false positive lockdep regression.
Not critical, so if there is no rc8 this cycle can wait for next cycle.
Amir.
fs/overlayfs/inode.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c
index a623c0b60583..ab2e24f43087 100644
--- a/fs/overlayfs/inode.c
+++ b/fs/overlayfs/inode.c
@@ -14,6 +14,7 @@
#include <linux/posix_acl.h>
#include <linux/ratelimit.h>
#include "overlayfs.h"
+#include "ovl_entry.h"
int ovl_setattr(struct dentry *dentry, struct iattr *attr)
{
@@ -411,6 +412,7 @@ static inline void ovl_lockdep_annotate_inode_mutex_key(struct inode *inode)
#ifdef CONFIG_LOCKDEP
static struct lock_class_key ovl_i_mutex_key[OVL_MAX_NESTING];
static struct lock_class_key ovl_i_mutex_dir_key[OVL_MAX_NESTING];
+ static struct lock_class_key ovl_i_lock_key[OVL_MAX_NESTING];
int depth = inode->i_sb->s_stack_depth - 1;
@@ -421,6 +423,8 @@ static inline void ovl_lockdep_annotate_inode_mutex_key(struct inode *inode)
lockdep_set_class(&inode->i_rwsem, &ovl_i_mutex_dir_key[depth]);
else
lockdep_set_class(&inode->i_rwsem, &ovl_i_mutex_key[depth]);
+
+ lockdep_set_class(&OVL_I(inode)->lock, &ovl_i_lock_key[depth]);
#endif
}
--
2.7.4
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2017-10-27 13:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-27 13:12 [PATCH] ovl: lockdep annotate of nested OVL_I(inode)->lock Amir Goldstein
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).