0d365f6fb9
-#9 0xf7abf899 in __asan::__asan_report_load2 (addr=4072681776) at ../../../../../src/libsanitizer/asan/asan_rtl.cc:117 -#10 0x5693f718 in inode_release (node=0xf2c03124) at inode/fs_inoderelease.c:69 -#11 0x568ea61b in file_close (filep=0xf55fedd0) at vfs/fs_close.c:79 -#12 0x568e7e56 in nx_close (fd=3) at inode/fs_files.c:528 -#13 0x568e7f0e in close (fd=3) at inode/fs_files.c:562 -#14 0x56e76c39 in epoll_close (epfd=3) at vfs/fs_epoll.c:252 -#15 0x56c33829 in sensor_service_delete (ctrl=0x578b8540 <control>) at src/common.c:439 -#16 0x56a0561e in sensor_middle_service_main (argc=1, argv=0xf55de820) at sensor_main.c:118 -#17 0x56878675 in nxtask_startup (entrypt=0x56a054cc <sensor_middle_service_main>, argc=1, argv=0xf55de820) at sched/task_startup.c:70 -#18 0x5684427a in nxtask_start () at task/task_start.c:133 -#19 0xdeadbeef in ?? () reason: epoll_close -> close -> epoll_do_close (free inode) -> inode_release (reuse inode, crash) fix: use the global inode to match the fd which will return to user. like the g_sock_inode in fs/socket/socket.c Signed-off-by: ligd <liguiding1@xiaomi.com> |
||
---|---|---|
.. | ||
fs_chstat.c | ||
fs_close.c | ||
fs_dup.c | ||
fs_dup2.c | ||
fs_epoll.c | ||
fs_eventfd.c | ||
fs_fchstat.c | ||
fs_fcntl.c | ||
fs_fdopen.c | ||
fs_fstat.c | ||
fs_fstatfs.c | ||
fs_fsync.c | ||
fs_ioctl.c | ||
fs_lseek.c | ||
fs_mkdir.c | ||
fs_open.c | ||
fs_poll.c | ||
fs_pread.c | ||
fs_pwrite.c | ||
fs_read.c | ||
fs_readlink.c | ||
fs_rename.c | ||
fs_rmdir.c | ||
fs_select.c | ||
fs_sendfile.c | ||
fs_stat.c | ||
fs_statfs.c | ||
fs_symlink.c | ||
fs_timerfd.c | ||
fs_truncate.c | ||
fs_unlink.c | ||
fs_write.c | ||
Kconfig | ||
Make.defs |