dir_emit_dotdot() currently passes parent_ino(file->f_path.dentry) to dir_emit(). Passing a dentry to parent_ino() is wrong. This should have been parent_ino(file->f_path.dentry->i_ino). Signed-off-by: Richard Yao <ryao@xxxxxxxxxx> --- include/linux/fs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/fs.h b/include/linux/fs.h index 9818747..7495f2e 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -2717,7 +2717,7 @@ static inline bool dir_emit_dot(struct file *file, struct dir_context *ctx) static inline bool dir_emit_dotdot(struct file *file, struct dir_context *ctx) { return ctx->actor(ctx, "..", 2, ctx->pos, - parent_ino(file->f_path.dentry), DT_DIR) == 0; + parent_ino(file->f_path.dentry->i_ino), DT_DIR) == 0; } static inline bool dir_emit_dots(struct file *file, struct dir_context *ctx) { -- 1.8.1.5 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html