[PATCH] Overlayfs: ovl_fill_merge() should use container_of() rather than direct cast

From: David Howells
Date: Thu Oct 30 2014 - 10:10:22 EST


ovl_fill_merge() effectively directly casts the buf pointer to an
ovl_readdir_data struct pointer, but the pointer actually points to the
dir_context struct contained therein.

So use container_of() instead.

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

fs/overlayfs/readdir.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/overlayfs/readdir.c b/fs/overlayfs/readdir.c
index 910553f37aca..d142c2bf8f1e 100644
--- a/fs/overlayfs/readdir.c
+++ b/fs/overlayfs/readdir.c
@@ -181,7 +181,9 @@ static void ovl_cache_put(struct ovl_dir_file *od, struct dentry *dentry)
static int ovl_fill_merge(void *buf, const char *name, int namelen,
loff_t offset, u64 ino, unsigned int d_type)
{
- struct ovl_readdir_data *rdd = buf;
+ struct dir_context *ctx = buf;
+ struct ovl_readdir_data *rdd =
+ container_of(ctx, struct ovl_readdir_data, ctx);

rdd->count++;
if (!rdd->is_merge)

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