On 2020/3/25 下午10:42, David Sterba wrote: > On Tue, Mar 24, 2020 at 06:53:09PM +0800, Qu Wenruo wrote: >> This patchset can be fetched from github: >> https://github.com/adam900710/btrfs-progs/tree/valgrind_fixes >> >> Inspired by that long-existing-but-I-can't-reproduce v5.1 bug, I will >> never trust D=asan/D=uban anymore, and run valgrind on all fsck-tests. >> >> The patchset is the result from the latest valgrind runs. >> >> The first patch is to make "make INSTRUMENT=valgrind test-fsck" run >> smoothly without false alerts due to mount/umount failure with valgrind. > > Thanks, that's great. In addition to that, all commands that use the > SUDO_HELPER/root_helper won't pass through valgrind. For maximum > coverage we might want to remove the helper from the subcommands of > 'btrfs'. From a quick scan I found a lot of them and I'm not sure that > all are required. There's a lot of copy&paste in the tests, so that > would have to be cleaned up, or we leave it as it is and run the whole > tests under root. The root fix is, like what we did for lowmem mode, injecting valgrind to proper location. Currently I take a shortcut to reuse current infrastructure, but the root fix would need to inject INSTRUMENT directly before "btrfs/mkfs.btrfs/btrfs-convert", so that sudo_helper won't be a problem. I would work on that if it's OK for you. Thanks, Qu > >> With this patchset applied (along with that fix for v5.1), fsck tests >> all passes without valgrind error except mentioned fsck/012 above. >> >> Qu Wenruo (6): >> btrfs-progs: tests/common: Don't call INSTRUMENT on mount command >> btrfs-progs: check/original: Fix uninitialized stack memory access for >> deal_root_from_list() >> btrfs-progs: check/original: Fix uninitialized memory for newly >> allocated data_backref >> btrfs-progs: check/original: Fix uninitialized return value from >> btrfs_write_dirty_block_groups() >> btrfs-progs: check/original: Fix uninitialized extent buffer contents >> btrfs-progs: extent-tree: Fix wrong post order rb tree cleanup for >> block groups > > Added to devel. >
