mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-21 22:04:19 +03:00
7cfe5ab9bc
This partially reverts commit da37cbd24fc0073f3f00a3b7aac7807d2185b829. As the _cmdline structure use mempool for allocated ellement that is being release on cmd_context close. Before the better fix is made - restore previous logic and reinitialize cmd structures again for new cmd_context. Problem can be hit with e.g. this test run: make check_local T=foreign LVM_VALGRIND_DMEVENTD=1 Invalid read of size 1 at 0x4C31C83: strcmp (vg_replace_strmem.c:846) by 0x6BA0939: _find_command (lvmcmdline.c:1555) by 0x6BA4304: lvm_run_command (lvmcmdline.c:2810) by 0x6BD5E02: lvm2_run (lvmcmdlib.c:91) by 0x685607E: dmeventd_lvm2_run (dmeventd_lvm.c:118) by 0x6652684: _use_policy (dmeventd_thin.c:117) by 0x6652E56: process_event (dmeventd_thin.c:298) by 0x10CC5A: _do_process_event (dmeventd.c:945) by 0x10CF83: _monitor_thread (dmeventd.c:1033) by 0x54B35E0: start_thread (in /usr/lib64/libpthread-2.26.9000.so) by 0x57C30EE: clone (in /usr/lib64/libc-2.26.9000.so) Address 0x6266270 is 4,352 bytes inside a block of size 8,192 free'd at 0x4C2ED68: free (vg_replace_malloc.c:530) by 0x5289142: dm_free_wrapper (dbg_malloc.c:393) by 0x528998A: _free_chunk (pool-fast.c:318) by 0x52892A6: dm_pool_destroy (pool-fast.c:78) by 0x6A8E52C: destroy_toolcontext (toolcontext.c:2254) by 0x6BA5BD6: lvm_fin (lvmcmdline.c:3327) by 0x6BD5EA7: lvm2_exit (lvmcmdlib.c:123) by 0x6856013: dmeventd_lvm2_exit (dmeventd_lvm.c:103) by 0x66535B8: unregister_device (dmeventd_thin.c:432) by 0x10CBBC: _do_unregister_device (dmeventd.c:926) by 0x10CD74: _monitor_unregister (dmeventd.c:979) by 0x10D094: _monitor_thread (dmeventd.c:1066) by 0x54B35E0: start_thread (in /usr/lib64/libpthread-2.26.9000.so) by 0x57C30EE: clone (in /usr/lib64/libc-2.26.9000.so) Block was alloc'd at at 0x4C2DBBB: malloc (vg_replace_malloc.c:299) by 0x5288F46: dm_malloc_aux (dbg_malloc.c:287) by 0x52890AC: dm_malloc_wrapper (dbg_malloc.c:371) by 0x52898E6: _new_chunk (pool-fast.c:286) by 0x52893BA: dm_pool_alloc_aligned (pool-fast.c:106) by 0x5289310: dm_pool_alloc (pool-fast.c:90) by 0x6A8A21A: _load_config_file (toolcontext.c:808) by 0x6A8A3D9: _init_lvm_conf (toolcontext.c:842) by 0x6A8D3BD: create_toolcontext (toolcontext.c:1941) by 0x6BA5B24: init_lvm (lvmcmdline.c:3308) by 0x6BD5B7C: cmdlib_lvm2_init (lvmcmdlib.c:34) by 0x6BD5EB8: lvm2_init (lvm2cmd.c:20) by 0x6855EA7: dmeventd_lvm2_init (dmeventd_lvm.c:67) by 0x665305F: register_device (dmeventd_thin.c:352) by 0x10CB7A: _do_register_device (dmeventd.c:916) by 0x10CEE4: _monitor_thread (dmeventd.c:1006) by 0x54B35E0: start_thread (in /usr/lib64/libpthread-2.26.9000.so) by 0x57C30EE: clone (in /usr/lib64/libc-2.26.9000.so)