https://bugs.kde.org/show_bug.cgi?id=485400
Bug ID: 485400 Summary: io_uring filled memory not marked as defined Classification: Developer tools Product: valgrind Version: 3.23 GIT Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: memcheck Assignee: jsew...@acm.org Reporter: vlov...@gmail.com Target Milestone: --- Created attachment 168407 --> https://bugs.kde.org/attachment.cgi?id=168407&action=edit Rust project reproducing the issue. SUMMARY Do some reads of a file with glommio & accessing the returned buffer causes valgrind to complain that the data is uninitialized. My hunch is that valgrind doesn't know to mark buffers filled by io_uring as defined. STEPS TO REPRODUCE 1. Unzip the attached zipfile 2. cd repro 3. cargo build 4. valgrind target/debug/repro OBSERVED RESULT Valgrind has a false-positive complaint that the returned read buffer has uninitialized data. ``` ==2943183== Conditional jump or move depends on uninitialised value(s) ==2943183== at 0x144540: <usize as core::iter::traits::accum::Sum>::sum::{{closure}} (accum.rs:53) ==2943183== by 0x15033D: core::iter::adapters::map::map_fold::{{closure}} (map.rs:89) ==2943183== by 0x150664: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::fold (macros.rs:232) ==2943183== by 0x150277: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold (map.rs:129) ==2943183== by 0x1444C6: <usize as core::iter::traits::accum::Sum>::sum (accum.rs:50) ==2943183== by 0x1502B2: core::iter::traits::iterator::Iterator::sum (iterator.rs:3642) ==2943183== by 0x1454B5: repro::main::{{closure}} (main.rs:17) ==2943183== by 0x146F25: glommio::task::raw::RawTask<F,R,S>::run (raw.rs:469) ==2943183== by 0x1DC63F: glommio::task::task_impl::Task::run (task_impl.rs:125) ==2943183== by 0x200FAF: glommio::executor::LocalExecutor::run_one_task_queue (mod.rs:1382) ==2943183== by 0x20059A: glommio::executor::LocalExecutor::run_task_queues (mod.rs:1330) ==2943183== by 0x141379: glommio::executor::LocalExecutor::run::{{closure}} (mod.rs:1483) ==2943183== ==2943183== Conditional jump or move depends on uninitialised value(s) ==2943183== at 0x145518: repro::main::{{closure}} (main.rs:18) ==2943183== by 0x146F25: glommio::task::raw::RawTask<F,R,S>::run (raw.rs:469) ==2943183== by 0x1DC63F: glommio::task::task_impl::Task::run (task_impl.rs:125) ==2943183== by 0x200FAF: glommio::executor::LocalExecutor::run_one_task_queue (mod.rs:1382) ==2943183== by 0x20059A: glommio::executor::LocalExecutor::run_task_queues (mod.rs:1330) ==2943183== by 0x141379: glommio::executor::LocalExecutor::run::{{closure}} (mod.rs:1483) ==2943183== by 0x141901: glommio::executor::LocalExecutor::run::{{closure}} (mod.rs:1518) ==2943183== by 0x148D00: scoped_tls::ScopedKey<T>::set (lib.rs:137) ==2943183== by 0x140BCD: glommio::executor::LocalExecutor::run (mod.rs:1518) ==2943183== by 0x145C23: repro::main (main.rs:4) ==2943183== by 0x14D8CA: core::ops::function::FnOnce::call_once (function.rs:250) ==2943183== by 0x14E3AD: std::sys_common::backtrace::__rust_begin_short_backtrace (backtrace.rs:155) ``` EXPECTED RESULT The data is initialized. SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: 6.8.1 (available in About System) KDE Plasma Version: 6.0.3 KDE Frameworks Version: 6.0.0 Qt Version: 6.7.0 ADDITIONAL INFORMATION valgrind --version valgrind-3.23.0.GIT (valgrind-git-3.22.0.r243.g94e826519-1) -- You are receiving this mail because: You are watching all bug changes.