1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/tools
Peter Rajnoha cd14d3fcc0
toollib: fix segfault if using -S|--select with log/report_command_log=1 setting
When we are using -S|--select for non-reporting tools while using command log
reporting (log/report_command_log=1 setting), we need to create an internal
processing handle to handle the selection itself. In this case, the internal
processing handle to execute the selection (to process the -S|--select) has
a parent handle (that is processing the actual non-reporting command).

When this parent handle exists, we can't destroy the command log report
in destroy_processing_handle as there's still the parent processing to
finish. The parent processing may still generate logs which need to be
reported in the command log report. If the command log report was
destroyed prematurely together with destroying the internal processing
handle for -S|--select, then any subsequent log request from processing
the actual command (and hence an attermpt to access the command log report)
ended up with a segfault.

See also: https://bugzilla.redhat.com/show_bug.cgi?id=2175220
2023-03-07 15:29:54 +01:00
..
.exported_symbols generate liblvm2cmd exported symbols too 2010-06-25 18:23:10 +00:00
.gitignore tools: add generated headers to .gitignore 2017-03-10 13:13:41 +00:00
args.h lvm: fix typos 2023-02-10 17:50:27 +01:00
cmdnames.h doc: change fsf address 2016-01-21 12:11:37 +01:00
command-lines.in vgchange systemid: use tag or select 2022-10-31 08:54:33 -05:00
command.c make: move cmds.h 2022-09-27 09:06:06 -05:00
command.h commands: use AUTOTYPE in definitions 2021-04-21 08:41:37 -05:00
commands.h devices file: limit warnings about devices file entries not found 2021-08-05 13:20:26 -05:00
dumpconfig.c lvmconfig: add --valuesonly option 2022-08-17 10:47:24 +02:00
errors.h tools: Introduce exit code EINIT_FAILED. 2017-07-26 23:18:03 +01:00
formats.c doc: change fsf address 2016-01-21 12:11:37 +01:00
license.inc makefiles: avoid piping 2023-02-10 17:50:27 +01:00
lv_props.h Allow dm-integrity to be used for raid images 2020-04-15 12:10:32 -05:00
lv_types.h Allow dm-integrity to be used for raid images 2020-04-15 12:10:32 -05:00
lvchange.c writecache: support settings metadata_only and pause_writeback 2022-12-08 16:53:36 -06:00
lvconvert_poll.c thin: ignore parallel merge while polling 2021-03-18 18:34:57 +01:00
lvconvert_poll.h build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
lvconvert.c debug: missing backtraces 2023-02-17 00:00:12 +01:00
lvcreate.c vdo: fix and enhance vdo constain checking 2023-01-16 12:37:40 +01:00
lvdisplay.c process_each_lv: add check_single_lv function 2017-02-13 08:20:10 -06:00
lvextend.c lvresize: restructure code 2022-09-09 16:18:55 -05:00
lvm2cmd-static.c lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm2cmd.c lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm2cmd.h lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm2cmdline.h lvmcmdlib: lvm2_init_threaded 2020-10-20 22:22:52 +02:00
lvm-static.c doc: change fsf address 2016-01-21 12:11:37 +01:00
lvm.c shell: add pre-cmd log report object type and enable lastlog for it 2022-08-22 14:06:34 +02:00
lvmcmdlib.c cmdlib_lvm2_init: release cmd on failure path 2021-09-13 12:34:41 +02:00
lvmcmdline.c lvresize: restructure code 2022-09-09 16:18:55 -05:00
lvmdevices.c device_id: handle duplicate serial numbers 2022-11-07 08:56:02 -06:00
lvmdiskscan.c remove unused full filter 2018-12-04 14:06:46 -06:00
lvpoll.c build: Don't generate symlinks in include/ dir 2018-05-14 10:30:20 +01:00
lvreduce.c lvresize: restructure code 2022-09-09 16:18:55 -05:00
lvremove.c process_each_lv: add check_single_lv function 2017-02-13 08:20:10 -06:00
lvrename.c toollib: make it possible to also process internal VGs, add 'include_internal' switch to process_each_vg fn 2016-06-20 11:33:42 +02:00
lvresize.c lvresize: better detection of BLKID_SUBLKS_FSINFO 2023-02-10 17:50:27 +01:00
lvscan.c Remove lvmetad 2018-07-11 11:26:42 -05:00
Makefile.in makefiles: allow using configure cppflags 2023-02-13 13:41:59 +01:00
polldaemon.c polldaemon: improve support for interruptions 2021-04-06 22:02:31 +02:00
pvchange.c cov: clean up pvid and vgid usage 2021-08-16 11:31:15 -05:00
pvck.c cov: make more obvious buffer is zero ended 2021-09-27 18:56:13 +02:00
pvcreate.c exit with error when --devicesfile name doesn't exist 2022-07-06 10:10:58 -05:00
pvdisplay.c add device hints to reduce scanning 2019-01-15 10:23:47 -06:00
pvmove_poll.c backup: automatically store data on vg_unlock 2021-06-09 14:56:13 +02:00
pvmove_poll.h doc: change fsf address 2016-01-21 12:11:37 +01:00
pvmove.c archiving: take archive automatically 2021-06-09 14:56:13 +02:00
pvremove.c exit with error when --devicesfile name doesn't exist 2022-07-06 10:10:58 -05:00
pvresize.c exported vg handling 2019-06-25 15:39:08 -05:00
pvscan.c pvscan: remove warning about excluded root dev 2023-02-15 10:21:13 -06:00
reporter.c report: report numeric values (not string synonyms) for NUM and BIN fields with json_std format 2022-08-16 13:42:50 +02:00
segtypes.c doc: change fsf address 2016-01-21 12:11:37 +01:00
stub.h Remove vgconvert 2018-06-13 14:14:03 -05:00
tags.c doc: change fsf address 2016-01-21 12:11:37 +01:00
tool.h configure: avoid repeative inclusion of configure.h 2018-12-21 19:19:50 +01:00
toollib.c toollib: fix segfault if using -S|--select with log/report_command_log=1 setting 2023-03-07 15:29:54 +01:00
toollib.h vdo: support --vdosettings 2022-05-03 19:09:52 +02:00
tools.h lvresize: restructure code 2022-09-09 16:18:55 -05:00
vals.h args: recognize 'json_std' for --reportformat cmd line arg 2022-08-11 11:10:11 +02:00
vgcfgbackup.c improve reading and repairing vg metadata 2019-06-07 15:54:04 -05:00
vgcfgrestore.c exit with error when --devicesfile name doesn't exist 2022-07-06 10:10:58 -05:00
vgchange.c cov: drop unneeded header 2023-02-13 13:41:59 +01:00
vgck.c vgck: fix updatemetadata writing different descriptions 2019-10-11 12:57:32 -05:00
vgcreate.c exit with error when --devicesfile name doesn't exist 2022-07-06 10:10:58 -05:00
vgdisplay.c tidy: Add missing underscores to statics. 2017-10-18 15:58:13 +01:00
vgexport.c backup: automatically store data on vg_unlock 2021-06-09 14:56:13 +02:00
vgextend.c exit with error when --devicesfile name doesn't exist 2022-07-06 10:10:58 -05:00
vgimport.c vgimport: invalidate hints 2023-02-22 16:19:48 -06:00
vgimportclone.c vgimportclone: fix non-duplicate PV with non-unique basevgname arg 2023-02-09 17:37:22 -06:00
vgimportdevices.c vgimportdevices: LOCK_EX requires <sys/file.h> include 2023-02-10 17:50:27 +01:00
vgmerge.c exit with error when --devicesfile name doesn't exist 2022-07-06 10:10:58 -05:00
vgmknodes.c process_each_lv: add check_single_lv function 2017-02-13 08:20:10 -06:00
vgreduce.c backup: automatically store data on vg_unlock 2021-06-09 14:56:13 +02:00
vgremove.c vgremove: remove online files in run dir 2022-09-14 14:19:29 -05:00
vgrename.c cov: clean up pvid and vgid usage 2021-08-16 11:31:15 -05:00
vgscan.c locking: unify global lock for flock and lockd 2019-04-29 13:01:05 -05:00
vgsplit.c exit with error when --devicesfile name doesn't exist 2022-07-06 10:10:58 -05:00