diff --git a/0042-avoid-processing-invalid-to_dlm_mode-in-lm_convert_dlm.patch b/0042-avoid-processing-invalid-to_dlm_mode-in-lm_convert_dlm.patch new file mode 100644 index 0000000000000000000000000000000000000000..fe77be0d84f23f40773ab3874cba9236c701248e --- /dev/null +++ b/0042-avoid-processing-invalid-to_dlm_mode-in-lm_convert_dlm.patch @@ -0,0 +1,36 @@ +From 8716d8c1886fb459c25f8adf69a671f0941bade4 Mon Sep 17 00:00:00 2001 +From: Zdenek Kabelac +Date: Mon, 25 Mar 2024 14:33:40 +0100 +Subject: [PATCH] cov: check for to_dlm_mode return value + +Avoid processing invalid to_dlm_mode in lm_convert_dlm. +--- + daemons/lvmlockd/lvmlockd-dlm.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/daemons/lvmlockd/lvmlockd-dlm.c b/daemons/lvmlockd/lvmlockd-dlm.c +index 52a293abb..528fe7aa9 100644 +--- a/daemons/lvmlockd/lvmlockd-dlm.c ++++ b/daemons/lvmlockd/lvmlockd-dlm.c +@@ -552,7 +552,7 @@ int lm_convert_dlm(struct lockspace *ls, struct resource *r, + struct lm_dlm *lmd = (struct lm_dlm *)ls->lm_data; + struct rd_dlm *rdd = (struct rd_dlm *)r->lm_data; + struct dlm_lksb *lksb = &rdd->lksb; +- uint32_t mode; ++ int mode; + uint32_t flags = 0; + int rv; + +@@ -576,8 +576,10 @@ int lm_convert_dlm(struct lockspace *ls, struct resource *r, + flags |= LKF_VALBLK; + } + +- mode = to_dlm_mode(ld_mode); +- ++ if ((mode = to_dlm_mode(ld_mode)) < 0) { ++ log_error("lm_convert_dlm invalid mode %d", ld_mode); ++ return -EINVAL; ++ } + if (daemon_test) + return 0; + diff --git a/lvm2.spec b/lvm2.spec index 2f0deb9541b08790c7a5b606a14a6b3f5200a0b4..ccbbcf281d7b310b98c7d83aae717fc9eed42485 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -43,7 +43,7 @@ Name: lvm2 Version: 2.03.14 -Release: 23 +Release: 24 Epoch: 8 Summary: Tools for logical volume management License: GPLv2+ and LGPLv2.1 and BSD @@ -90,6 +90,7 @@ Patch38: 0038-fix-buffer-size-usage.patch Patch39: 0039-add-internal-error-for-missing-vg.patch Patch40: 0040-enhance-pointer-safe.patch Patch41: 0041-lvmdbusd-fix-Python-script.patch +Patch42: 0042-avoid-processing-invalid-to_dlm_mode-in-lm_convert_dlm.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -516,6 +517,9 @@ fi %changelog +* Mon Nov 17 2025 weishuaihao - 8:2.03.14-24 +- cov: check for to_dlm_mode return value + * Fri Nov 14 2025 weishuaihao - 8:2.03.14-23 - lvmdbusd: Fix Python script