Summary: | io_uring reads are not recognized as initializing memory | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Chris <chris.m.milan> |
Component: | memcheck | Assignee: | Paul Floyd <pjfloyd> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | daninshed, pjfloyd, vlovich |
Priority: | NOR | ||
Version First Reported In: | 3.25.0 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | C repro |
In memcheck buf is all marked as uninitialised. This looks like a duplicate of 485400. Even though this is newer I'm going to close the older one as a duplicate since this reproducer is much easier to work with. *** Bug 485400 has been marked as a duplicate of this bug. *** |
Created attachment 184127 [details] C repro SUMMARY Reading into a buffer using io_uring and then subsequently accessing the buffer is a reported as an uninitialized read. STEPS TO REPRODUCE 1. Compile the attached C code (depends on liburing). 2. Run `valgrind ./a.out`, and enter any input. 3. memcheck reports uninitialized bytes in the write syscall. OBSERVED RESULT ==2777862== Syscall param write(buf) points to uninitialised byte(s) ==2777862== at 0x4999574: write (write.c:26) ==2777862== by 0x400173C: main (in /home/chris/test) ==2777862== Address 0x1ffefffdbe is on thread 1's stack ==2777862== in frame #1, created by main (???:) ==2777862== EXPECTED RESULT No errors. SOFTWARE/OS VERSIONS Linux: 6.8.0 (Ubuntu 24.04) Valgrind: 3.25.1