From b49cd8e1284c94fa2d62efaf159a8589690dfb1f Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 27 Sep 2023 13:11:38 +0000 Subject: [PATCH] import CS libblockdev-2.28-4.el8 --- ...wapon_pagesize-on-systems-with-64k-p.patch | 41 +++++++++++++++++++ ...t-when-adding-a-partition-too-big-fo.patch | 32 +++++++++++++++ SPECS/libblockdev.spec | 14 ++++++- 3 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 SOURCES/0002-tests-Fix-test_swapon_pagesize-on-systems-with-64k-p.patch create mode 100644 SOURCES/0003-part-Fix-segfault-when-adding-a-partition-too-big-fo.patch diff --git a/SOURCES/0002-tests-Fix-test_swapon_pagesize-on-systems-with-64k-p.patch b/SOURCES/0002-tests-Fix-test_swapon_pagesize-on-systems-with-64k-p.patch new file mode 100644 index 0000000..4712539 --- /dev/null +++ b/SOURCES/0002-tests-Fix-test_swapon_pagesize-on-systems-with-64k-p.patch @@ -0,0 +1,41 @@ +From 6700dfded31219c99fea054aa10fd68b90bace82 Mon Sep 17 00:00:00 2001 +From: Vojtech Trefny +Date: Mon, 31 Oct 2022 12:43:17 +0100 +Subject: [PATCH] tests: Fix test_swapon_pagesize on systems with 64k pages + +--- + tests/swap_test.py | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/tests/swap_test.py b/tests/swap_test.py +index 0a0f333d..e350f8e8 100644 +--- a/tests/swap_test.py ++++ b/tests/swap_test.py +@@ -1,5 +1,6 @@ + import unittest + import os ++import resource + import overrides_hack + + from utils import create_sparse_tempfile, create_lio_device, delete_lio_device, fake_utils, fake_path, run_command, run, TestTags, tag_test +@@ -102,8 +103,15 @@ class SwapTestCase(SwapTest): + def test_swapon_pagesize(self): + """Verify that activating swap with different pagesize fails""" + +- # create swap with 64k pagesize +- ret, out, err = run_command("mkswap --pagesize 65536 %s" % self.loop_dev) ++ # pick some wrong page size: 8k on 64k and 64k everywhere else ++ pagesize = resource.getpagesize() ++ if pagesize == 65536: ++ wrong_pagesize = 8192 ++ else: ++ wrong_pagesize = 65536 ++ ++ # create swap with "wrong" pagesize ++ ret, out, err = run_command("mkswap --pagesize %s %s" % (wrong_pagesize, self.loop_dev)) + if ret != 0: + self.fail("Failed to prepare swap for pagesize test: %s %s" % (out, err)) + +-- +2.39.2 + diff --git a/SOURCES/0003-part-Fix-segfault-when-adding-a-partition-too-big-fo.patch b/SOURCES/0003-part-Fix-segfault-when-adding-a-partition-too-big-fo.patch new file mode 100644 index 0000000..84b753d --- /dev/null +++ b/SOURCES/0003-part-Fix-segfault-when-adding-a-partition-too-big-fo.patch @@ -0,0 +1,32 @@ +From 9c96e621e9abb0649118d2e1731a09b1fa139579 Mon Sep 17 00:00:00 2001 +From: Vojtech Trefny +Date: Wed, 19 Apr 2023 09:50:38 +0200 +Subject: [PATCH] part: Fix segfault when adding a partition too big for MSDOS + +Resolves: rhbz#2185564 +--- + src/plugins/part.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/plugins/part.c b/src/plugins/part.c +index 8b2285f5..28e20c28 100644 +--- a/src/plugins/part.c ++++ b/src/plugins/part.c +@@ -841,6 +841,14 @@ static gboolean resize_part (PedPartition *part, PedDevice *dev, PedDisk *disk, + constr = ped_constraint_any (dev); + + geom = ped_disk_get_max_partition_geometry (disk, part, constr); ++ if (!geom) { ++ set_parted_error (error, BD_PART_ERROR_FAIL); ++ g_prefix_error (error, "Failed to create geometry for partition on device '%s'", dev->path); ++ ped_constraint_destroy (constr); ++ finish_alignment_constraint (disk, orig_flag_state); ++ return FALSE; ++ } ++ + if (!ped_geometry_set_start (geom, start)) { + set_parted_error (error, BD_PART_ERROR_FAIL); + g_prefix_error (error, "Failed to set partition start on device '%s'", dev->path); +-- +2.40.1 + diff --git a/SPECS/libblockdev.spec b/SPECS/libblockdev.spec index 1feefb7..3134bf8 100644 --- a/SPECS/libblockdev.spec +++ b/SPECS/libblockdev.spec @@ -125,12 +125,14 @@ Name: libblockdev Version: 2.28 -Release: 2%{?dist} +Release: 4%{?dist} Summary: A library for low-level manipulation with block devices License: LGPLv2+ URL: https://github.com/storaged-project/libblockdev Source0: https://github.com/storaged-project/libblockdev/releases/download/%{version}-%{release}/%{name}-%{version}.tar.gz Patch0: 0001-crypto-Fix-GError-overwrite-from-libvolume_key.patch +Patch1: 0002-tests-Fix-test_swapon_pagesize-on-systems-with-64k-p.patch +Patch2: 0003-part-Fix-segfault-when-adding-a-partition-too-big-fo.patch BuildRequires: make BuildRequires: glib2-devel @@ -685,6 +687,8 @@ A meta-package that pulls all the libblockdev plugins as dependencies. %prep %setup -q -n %{name}-%{version} %patch0 -p1 +%patch1 -p1 +%patch2 -p1 %build autoreconf -ivf @@ -988,6 +992,14 @@ find %{buildroot} -type f -name "*.la" | xargs %{__rm} %files plugins-all %changelog +* Tue May 16 2023 Vojtech Trefny - 2.28-4 +- Fix segfault when adding a partition too big for MSDOS + Resolves: rhbz#2207500 + +* Mon Apr 03 2023 Vojtech Trefny - 2.28-3 +- Fix test_swapon_pagesize on systems with 64k pages + Resolves: rhbz#2138698 + * Wed Nov 30 2022 Vojtech Trefny - 2.28-2 - Fix double free in write_escrow_data_file Resolves: rhbz#2142660