afs: Hide silly-rename files from userspace
[linux-2.6-block.git] / fs / afs / dir.c
index 3f73d61f7c8a301ea33b6d6be8061397f4b4bf77..eface67ccc06039e21cc9c2f66ccd6a51a5be4fd 100644 (file)
@@ -474,6 +474,14 @@ static int afs_dir_iterate_block(struct afs_vnode *dvnode,
                        continue;
                }
 
+               /* Don't expose silly rename entries to userspace. */
+               if (nlen > 6 &&
+                   dire->u.name[0] == '.' &&
+                   ctx->actor != afs_lookup_filldir &&
+                   ctx->actor != afs_lookup_one_filldir &&
+                   memcmp(dire->u.name, ".__afs", 6) == 0)
+                       continue;
+
                /* found the next entry */
                if (!dir_emit(ctx, dire->u.name, nlen,
                              ntohl(dire->u.vnode),