1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
lvm2/lib
Peter Rajnoha a83d611a86 report: fix invalid memory read when reporting cache LV policy name
Fix regression caused by commit c2d4330f27
which removed the dm_pool_strdup for the cache policy name in
_cache_policy_disp report function.

This regression was hit with buffered reporting only (which is
used by default). The reason is that for buffered reporting, we're
iterating over LVs in VG (process_each_lv) while gathering
all the information that is needed for the report. In this case,
the LV's cache policy name has not been duped, but only the pointer
to the original VG buffer was stored. When the LV iteration finished,
the VG buffer was freed and any report to output called later
(dm_report_output call) accessed already freed VG data.

This didn't appear if unbuffered reporting was used (--unbuffered)
because in this case, the data were reported to output as
soon as they were processed, hence it was reported to output
before the VG data was freed.
2016-01-11 12:51:08 +01:00
..
activate debug: correct stack tracing 2015-12-04 22:10:30 +01:00
cache vgrename: use process_each_vg 2015-12-14 14:26:47 -06:00
cache_segtype cache: handle older metadata format 2015-11-16 01:12:57 +01:00
commands cleanup: ensuring string is not NULL 2015-11-09 17:04:10 +01:00
config lvmconfig: add --sinceversion for --type new 2015-11-25 14:12:12 +01:00
datastruct cleanup: drop unneded check for mem 2015-11-13 11:17:06 +01:00
device process_each_pv: do full scan earlier to find new devices 2015-12-14 10:02:29 -06:00
display libdm: Add dm_size_to_string to libdevmapper. 2015-07-27 21:30:20 +01:00
error segtypes: Use SEG_TYPE_NAME_ string constants. 2015-09-22 19:04:12 +01:00
filters filters: swap device_is_usable test 2015-09-03 23:34:36 +02:00
format1 segtypes: Use SEG_TYPE_NAME_ string constants. 2015-09-22 19:04:12 +01:00
format_pool vgrename: use process_each_vg 2015-12-14 14:26:47 -06:00
format_text vgrename: use process_each_vg 2015-12-14 14:26:47 -06:00
freeseg segtypes: Use SEG_TYPE_NAME_ string constants. 2015-09-22 19:04:12 +01:00
label cleanup: trace error from lvmcache_update_vgname_and_id 2015-08-18 15:00:08 +02:00
locking cleanup: rename lv_ondisk to lv_committed 2015-11-25 11:39:26 +01:00
log cleanup: drop log_suppress(2) usage 2015-12-03 18:02:34 +01:00
lvmpolld libdaemon: fix passing 32bit values for %d 2015-11-09 17:04:10 +01:00
metadata lvmlockd: update VG lock version earlier 2015-12-15 16:14:49 -06:00
mirror cleanup: use dm_get_status_mirror 2015-12-01 13:03:16 +01:00
misc debug: show LV name where dlid creation failed 2015-11-26 21:52:05 +01:00
mm memlock: add more libs on ignore list 2015-11-23 23:39:01 +01:00
properties report: add support for time (basic) 2015-06-30 15:15:10 +02:00
raid raid: Fail if kernel status denominator is zero. 2015-09-28 20:45:44 +01:00
replicator macros: Wrap PRI with FMT. 2015-07-06 15:09:17 +01:00
report report: fix invalid memory read when reporting cache LV policy name 2016-01-11 12:51:08 +01:00
snapshot segtypes: Use SEG_TYPE_NAME_ string constants. 2015-09-22 19:04:12 +01:00
striped segtypes: Use SEG_TYPE_NAME_ string constants. 2015-09-22 19:04:12 +01:00
thin cleanup: remove thin low_water_mark from metadata 2015-10-29 12:14:20 +01:00
unknown segtype: drop cmdcontex pointer 2014-10-30 23:58:49 +01:00
uuid uuid: add id_read_format_try 2015-12-03 18:00:38 +01:00
zero segtypes: Use SEG_TYPE_NAME_ string constants. 2015-09-22 19:04:12 +01:00
Makefile.in pvcreate: don't support unpartitioned DASD devices with CDL formatted 2015-10-27 11:42:47 +01:00