Commit f44fad16 authored by Steven Rostedt (Google)'s avatar Steven Rostedt (Google) Committed by Ma Wupeng
Browse files

eventfs: Keep the directories from having the same inode number as files

stable inclusion
from stable-v6.6.34
commit 4e84ead3f60a4b3b25e2486e5f8708186349d778
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IAD6H2

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4e84ead3f60a4b3b25e2486e5f8708186349d778

--------------------------------

commit 8898e7f288c47d450a3cf1511c791a03550c0789 upstream.

The directories require unique inode numbers but all the eventfs files
have the same inode number. Prevent the directories from having the same
inode numbers as the files as that can confuse some tooling.

Link: https://lore.kernel.org/linux-trace-kernel/20240523051539.428826685@goodmis.org



Cc: stable@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Fixes: 834bf76add3e6 ("eventfs: Save directory inodes in the eventfs_inode structure")
Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarWang Hai <wanghai38@huawei.com>
parent 588dca5b
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -50,8 +50,12 @@ static struct eventfs_root_inode *get_root_inode(struct eventfs_inode *ei)
/* Just try to make something consistent and unique */
static int eventfs_dir_ino(struct eventfs_inode *ei)
{
	if (!ei->ino)
	if (!ei->ino) {
		ei->ino = get_next_ino();
		/* Must not have the file inode number */
		if (ei->ino == EVENTFS_FILE_INODE_INO)
			ei->ino = get_next_ino();
	}

	return ei->ino;
}