From a68f37ac4b807b95176ab782917f77dd910cf064 Mon Sep 17 00:00:00 2001 From: Alasdair G Kergon Date: Mon, 2 Aug 2010 15:41:58 +0100 Subject: [PATCH] update to 2.02.72 --- LVM2.2.02.70.tgz.asc | 7 -- LVM2.2.02.72.tgz.asc | 7 ++ lvm2-2_02_73-fix-exported-syms.patch | 128 +++++++++++++++++++++++++++ lvm2.spec | 44 ++++++++- sources | 2 +- upstream | 2 +- 6 files changed, 178 insertions(+), 12 deletions(-) delete mode 100644 LVM2.2.02.70.tgz.asc create mode 100644 LVM2.2.02.72.tgz.asc create mode 100644 lvm2-2_02_73-fix-exported-syms.patch diff --git a/LVM2.2.02.70.tgz.asc b/LVM2.2.02.70.tgz.asc deleted file mode 100644 index 85a06a9..0000000 --- a/LVM2.2.02.70.tgz.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.2.1 (GNU/Linux) - -iD8DBQBMM+WqIoGRwVZ+LBcRAgK2AJ4rh+24RLUFkuDyKhZPWsYZrgW5bwCdFqhL -oz+2yboqRDlXkYy+a42/+E8= -=DdNN ------END PGP SIGNATURE----- diff --git a/LVM2.2.02.72.tgz.asc b/LVM2.2.02.72.tgz.asc new file mode 100644 index 0000000..b70c597 --- /dev/null +++ b/LVM2.2.02.72.tgz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.2.1 (GNU/Linux) + +iD8DBQBMUDmbIoGRwVZ+LBcRAtqFAJsGv2xsspvC4GskuEfap8NF3BR3yQCg7saR +50pTyxMvirUMtbSgoaZ99eY= +=JwxI +-----END PGP SIGNATURE----- diff --git a/lvm2-2_02_73-fix-exported-syms.patch b/lvm2-2_02_73-fix-exported-syms.patch new file mode 100644 index 0000000..496cd7e --- /dev/null +++ b/lvm2-2_02_73-fix-exported-syms.patch @@ -0,0 +1,128 @@ +--- LVM2.2.02.72/configure 2010-07-28 14:55:42.000000000 +0100 ++++ LVM2/configure 2010-07-31 01:42:09.000000000 +0100 +@@ -691,6 +691,7 @@ + DMEVENTD + DL_LIBS + DEVMAPPER ++DEFAULT_RUN_DIR + DEFAULT_LOCK_DIR + DEFAULT_CACHE_SUBDIR + DEFAULT_BACKUP_SUBDIR +@@ -18043,6 +18044,7 @@ + + + ++ + ################################################################################ + ac_config_files="$ac_config_files Makefile make.tmpl daemons/Makefile daemons/clvmd/Makefile daemons/cmirrord/Makefile daemons/dmeventd/Makefile daemons/dmeventd/libdevmapper-event.pc daemons/dmeventd/plugins/Makefile daemons/dmeventd/plugins/lvm2/Makefile daemons/dmeventd/plugins/mirror/Makefile daemons/dmeventd/plugins/snapshot/Makefile doc/Makefile doc/example.conf include/.symlinks include/Makefile lib/Makefile lib/format1/Makefile lib/format_pool/Makefile lib/locking/Makefile lib/mirror/Makefile lib/replicator/Makefile lib/misc/lvm-version.h lib/snapshot/Makefile libdm/Makefile libdm/libdevmapper.pc liblvm/Makefile liblvm/liblvm2app.pc man/Makefile po/Makefile scripts/clvmd_init_red_hat scripts/cmirrord_init_red_hat scripts/lvm2_monitoring_init_red_hat scripts/Makefile test/Makefile test/api/Makefile tools/Makefile udev/Makefile unit-tests/datastruct/Makefile unit-tests/regex/Makefile" + +diff -ru LVM2.2.02.72/configure.in LVM2/configure.in +--- LVM2.2.02.72/configure.in 2010-07-28 14:55:42.000000000 +0100 ++++ LVM2/configure.in 2010-07-31 01:41:58.000000000 +0100 +@@ -1232,6 +1232,7 @@ + AC_SUBST(DEFAULT_BACKUP_SUBDIR) + AC_SUBST(DEFAULT_CACHE_SUBDIR) + AC_SUBST(DEFAULT_LOCK_DIR) ++AC_SUBST(DEFAULT_RUN_DIR) + AC_SUBST(DEVMAPPER) + AC_SUBST(DLM_CFLAGS) + AC_SUBST(DLM_LIBS) +--- LVM2.2.02.72/lib/metadata/metadata.c 2010-07-09 17:57:44.000000000 +0100 ++++ LVM2/lib/metadata/metadata.c 2010-07-31 01:41:21.000000000 +0100 +@@ -1199,11 +1199,6 @@ + + int vg_set_mda_copies(struct volume_group *vg, uint32_t mda_copies) + { +- /* FIXME: add checks, etc, and set the value */ +- /* +- * FIXME: Before we set a larger value, we may need to +- * enable some mdas on PVS +- */ + vg->mda_copies = mda_copies; + + /* FIXME Use log_verbose when this is due to specific cmdline request. */ +--- LVM2.2.02.72/liblvm/lvm2app.h 2010-07-12 19:29:31.000000000 +0100 ++++ LVM2/liblvm/lvm2app.h 2010-08-02 13:20:12.000000000 +0100 +@@ -14,7 +14,7 @@ + #ifndef _LIB_LVM2APP_H + #define _LIB_LVM2APP_H + +-#include "libdevmapper.h" ++#include + + #include + +--- LVM2.2.02.72/Makefile.in 2010-07-28 14:55:42.000000000 +0100 ++++ LVM2/Makefile.in 2010-08-02 13:08:23.000000000 +0100 +@@ -50,6 +50,7 @@ + po: tools daemons + + libdm.device-mapper: include.device-mapper ++liblvm.device-mapper: include.device-mapper + daemons.device-mapper: libdm.device-mapper + tools.device-mapper: libdm.device-mapper + device-mapper: tools.device-mapper daemons.device-mapper man.device-mapper +--- LVM2.2.02.72/make.tmpl.in 2010-08-02 14:17:38.000000000 +0100 ++++ LVM2/make.tmpl.in 2010-08-02 13:56:38.000000000 +0100 +@@ -360,7 +360,7 @@ + set -e; \ + ( cat $(srcdir)/.exported_symbols; \ + if test x$(EXPORTED_HEADER) != x; then \ +- $(CC) -E -P $(EXPORTED_HEADER) | \ ++ $(CC) -E -P $(INCLUDES) $(DEFS) $(CFLAGS) $(EXPORTED_HEADER) | \ + $(SED) -ne "/^typedef|}/!s/.*[ \*]\(\$(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \ + fi \ + ) > $@ +--- LVM2.2.02.72/tools/lvconvert.c 2010-07-13 23:04:36.000000000 +0100 ++++ LVM2/tools/lvconvert.c 2010-07-31 01:41:22.000000000 +0100 +@@ -1237,25 +1237,27 @@ + if (!(lp->failed_pvs = _failed_pv_list(lv->vg))) + return_0; + ++ log_count = new_log_count; ++ + /* + * We must adjust the log first, or the entire mirror + * will get stuck during a suspend. + */ +- if (!_lv_update_mirrored_log(lv, lp->failed_pvs, new_log_count)) ++ if (!_lv_update_mirrored_log(lv, lp->failed_pvs, log_count)) + return 0; + + if (lp->mirrors == 1) +- new_log_count = 0; ++ log_count = 0; + + if (failed_mirrors) { + if (!lv_remove_mirrors(cmd, lv, failed_mirrors, +- new_log_count ? 0U : 1U, ++ log_count ? 0U : 1U, + _is_partial_lv, NULL, 0)) + return 0; + } + + if (!_lv_update_log_type(cmd, lp, lv, lp->failed_pvs, +- new_log_count)) ++ log_count)) + return 0; + + if (!_reload_lv(cmd, lv)) +--- LVM2.2.02.72/VERSION 2010-07-28 15:06:21.000000000 +0100 ++++ LVM2/VERSION 2010-07-28 22:57:51.000000000 +0100 +@@ -1 +1 @@ +-2.02.72(2) (2010-07-28) ++2.02.72(2)-f14 (2010-08-02) +--- LVM2.2.02.72/WHATS_NEW 2010-07-28 15:01:40.000000000 +0100 ++++ LVM2/WHATS_NEW 2010-08-02 13:56:24.000000000 +0100 +@@ -1,3 +1,11 @@ ++Version 2.02.73 - ++================================ ++ Fix exported_symbols generation to use standard compiler arguments. ++ Use #include <> not "" in lvm2app.h which gets installed on the system. ++ Make liblvm.device-mapper wait for include file generation. ++ Fix configure to supply DEFAULT_RUN_DIR to Makefiles. ++ Fix wrong number of mirror log at allocate policy ++ + Version 2.02.72 - 28th July 2010 [CVE-2010-2526] + ================================================= + Change clvmd to communicate with lvm2 via a socket in /var/run/lvm. diff --git a/lvm2.spec b/lvm2.spec index 88a08bb..56070bd 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -1,4 +1,4 @@ -%define device_mapper_version 1.02.52 +%define device_mapper_version 1.02.53 %define enable_cluster 1 %if %{enable_cluster} @@ -15,13 +15,14 @@ Summary: Userland logical volume management tools Name: lvm2 -Version: 2.02.70 -Release: 1%{?dist} +Version: 2.02.72 +Release: 3%{?dist} License: GPLv2 Group: System Environment/Base URL: http://sources.redhat.com/lvm2 Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz Patch0: lvm2-set-default-preferred_names.patch +Patch1: lvm2-2_02_73-fix-exported-syms.patch BuildRequires: libselinux-devel >= 1.30.19-4, libsepol-devel BuildRequires: ncurses-devel @@ -50,6 +51,7 @@ or more physical volumes and creating one or more logical volumes %prep %setup -q -n LVM2.%{version} %patch0 -p1 -b preferred_names +%patch1 -p1 -b exported_syms %build %define _exec_prefix "" @@ -67,6 +69,7 @@ make %{?_smp_mflags} make install DESTDIR=$RPM_BUILD_ROOT make install_system_dirs DESTDIR=$RPM_BUILD_ROOT make install_initscripts DESTDIR=$RPM_BUILD_ROOT +/usr/bin/install -m 0700 -d $RPM_BUILD_ROOT/var/run/lvm %clean rm -rf $RPM_BUILD_ROOT @@ -83,6 +86,7 @@ fi %files %defattr(-,root,root,-) %doc COPYING COPYING.LIB INSTALL README VERSION WHATS_NEW +%doc doc/lvm_fault_handling.txt %{_sbindir}/fsadm %{_sbindir}/lvchange %{_sbindir}/lvconvert @@ -186,6 +190,7 @@ fi %dir /etc/lvm/cache %dir /etc/lvm/archive %dir /var/lock/lvm +%dir /var/run/lvm /etc/rc.d/init.d/lvm2-monitor ############################################################################## @@ -435,6 +440,39 @@ the device-mapper event library. %changelog +* Sat Jul 31 2010 Alasdair Kergon - 2.02.72-3 +- Address lvm2-cluster security flaw CVE-2010-2526. + https://bugzilla.redhat.com/CVE-2010-2526 +- Change clvmd to communicate with lvm2 via a socket in /var/run/lvm. +- Return controlled error if clvmd is run by non-root user. +- Never use clvmd singlenode unless explicitly requested with -Isinglenode. +- Fix exported_symbols generation to use standard compiler arguments. +- Use #include <> not "" in lvm2app.h which gets installed on the system. +- Make liblvm.device-mapper wait for include file generation. +- Fix configure to supply DEFAULT_RUN_DIR to Makefiles. +- Fix wrong number of mirror log at allocate policy + +* Wed Jul 28 2010 Alasdair Kergon - 2.02.71-1 +- Make vgck warn about missing PVs. +- Revert failed table load preparation after "create, load and resume". +- Check if cluster log daemon is running before allowing cmirror create. +- Add dm_create_lockfile to libdm and use for pidfiles for all daemons. +- Correct LV list order used by lvconvert when splitting a mirror. +- Check if LV with specified name already exists when splitting a mirror. +- Fix suspend/resume logic for LVs resulting from splitting a mirror. +- Fix possible hang when all mirror images of a mirrored log fail. +- Adjust auto-metadata repair and caching logic to try to cope with empty mdas. +- Update pvcreate, {pv|vg}change, and lvm.conf man pages about metadataignore. +- Prompt if metadataignore with vgextend or pvchange would adjust vg_mda_copies. +- Adjust vg_mda_copies if metadataignore given with vgextend or pvchange. +- Speed up the regex matcher. +- Use "nowatch" udev rule for inappropriate devices. +- Document LVM fault handling in lvm_fault_handling.txt. +- Clarify help text for vg_mda_count. +- Add more verbose messages while checking volume_list and hosttags settings. +- Add log_error when strdup fails in {vg|lv}_change_tag(). +- Do not log backtrace in valid _lv_resume() code path. + * Wed Jul 7 2010 Alasdair Kergon - 2.02.70-1 - Remove log directly if all mirror images of a mirrored log fail. - Randomly select which mdas to use or ignore. diff --git a/sources b/sources index f99160e..ffddd40 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -39c26d5a821754cc347d7a19e82d4a24 LVM2.2.02.70.tgz +a7d0d1235a589869bd13cde0f0d7375d LVM2.2.02.72.tgz diff --git a/upstream b/upstream index 75a325b..eacb8bd 100644 --- a/upstream +++ b/upstream @@ -1 +1 @@ -LVM2.2.02.70.tgz +LVM2.2.02.72.tgz