On 2025/1/13 11:07, zhuxiaohui wrote:
From: Xiaohui Zhu <zhuxiaohui....@bytedance.com>

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....@bytedance.com>
---
  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;
It has been fixed in [1] by Muchun.
Thanks,
Hongbo

[1] https://lore.kernel.org/lkml/20250106033118.4640-1-songmuc...@bytedance.com/T/
                __entry->mode                = mode;
        ),

Reply via email to