https://bugs.kde.org/show_bug.cgi?id=449838
--- Comment #5 from Mark Wielaard <m...@klomp.org> --- (In reply to Daniele from comment #4) > yes with--track-fds=no valgrind not crash > > for reproduce you need only to call io_uring_queue_init() > https://pastebin.com/MzFxQGmb Thanks. I think the solution is simply to not try to associate a name with the fd returned from io_uring_setup. diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index ac2a9f0c3..792589766 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -13206,7 +13206,7 @@ POST(sys_io_uring_setup) SET_STATUS_Failure( VKI_EMFILE ); } else { if (VG_(clo_track_fds)) - ML_(record_fd_open_with_given_name)(tid, RES, (HChar*)(Addr)ARG1); + ML_(record_fd_open_nameless)(tid, RES); POST_MEM_WRITE(ARG2 + offsetof(struct vki_io_uring_params, sq_off), sizeof(struct vki_io_sqring_offsets) + sizeof(struct vki_io_cqring_offsets)); I don't know io_uring really well. But I assume there isn't really a name (file) associated with the io_uring fds? With the above the example program run under valgrind with --track-fds=yes simply reports: $ ./vg-in-place -q --track-fds=yes ./t ==1481833== FILE DESCRIPTORS: 4 open (3 std) at exit. ==1481833== Open file descriptor 3: ==1481833== at 0x4978ECD: syscall (syscall.S:38) ==1481833== by 0x4869921: UnknownInlinedFun (syscall.c:48) ==1481833== by 0x4869921: io_uring_queue_init_params (setup.c:143) ==1481833== by 0x48699CB: io_uring_queue_init (setup.c:168) ==1481833== by 0x401169: main (t.c:19) Which I assume is ok without a filename associated with the file descriptor? -- You are receiving this mail because: You are watching all bug changes.