[PATCH] hugetlbfs: check dir in trace_hugetlbfs_alloc_inode

From: zhuxiaohui
Date: Sun Jan 12 2025 - 22:07:22 EST


From: Xiaohui Zhu <zhuxiaohui.400@xxxxxxxxxxxxx>

Anonymous huge page has no corresponding directory inode,
which cause a null pointer crash when access dir with the stack

trace_hugetlbfs_alloc_inode
hugetlbfs_get_inode
hugetlb_file_setup
ksys_mmap_pgoff

Signed-off-by: Xiaohui Zhu <zhuxiaohui.400@xxxxxxxxxxxxx>
---
include/trace/events/hugetlbfs.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/trace/events/hugetlbfs.h b/include/trace/events/hugetlbfs.h
index 8331c904a9ba..5daa52053edc 100644
--- a/include/trace/events/hugetlbfs.h
+++ b/include/trace/events/hugetlbfs.h
@@ -23,7 +23,9 @@ TRACE_EVENT(hugetlbfs_alloc_inode,
TP_fast_assign(
__entry->dev = inode->i_sb->s_dev;
__entry->ino = inode->i_ino;
- __entry->dir = dir->i_ino;
+ __entry->dir = 0;
+ if (dir)
+ __entry->dir = dir->i_ino;
__entry->mode = mode;
),

--
2.41.0