From dfbbc05206a4fbdc96dfe3c5ad44638c6bae66ed Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Thu, 5 Dec 2024 17:09:11 +0100 Subject: [PATCH] Fix crash on ppc64le with GPT Resolves: RHEL-70153 --- 0012-Fix-crash-on-ppc64le-with-GPT.patch | 108 +++++++++++++++++++++++ python-blivet.spec | 7 +- 2 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 0012-Fix-crash-on-ppc64le-with-GPT.patch diff --git a/0012-Fix-crash-on-ppc64le-with-GPT.patch b/0012-Fix-crash-on-ppc64le-with-GPT.patch new file mode 100644 index 0000000..b323ea9 --- /dev/null +++ b/0012-Fix-crash-on-ppc64le-with-GPT.patch @@ -0,0 +1,108 @@ +From 041b320003687fb6c740f429a079dd7b7c8f7f6f Mon Sep 17 00:00:00 2001 +From: Vojtech Trefny +Date: Thu, 5 Dec 2024 14:28:21 +0100 +Subject: [PATCH 1/2] Fix ppc64le name in devicelibs/gpt.py + +Resolves: RHEL-70153 +--- + blivet/devicelibs/gpt.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/blivet/devicelibs/gpt.py b/blivet/devicelibs/gpt.py +index 4a6d364d7..c6dbf7b23 100644 +--- a/blivet/devicelibs/gpt.py ++++ b/blivet/devicelibs/gpt.py +@@ -66,7 +66,7 @@ + "parisc": uuid.UUID("1aacdb3b-5444-4138-bd9e-e5c2239b2346"), + "ppc": uuid.UUID("1de3f1ef-fa98-47b5-8dcd-4a860a654d78"), + "ppc64": uuid.UUID("912ade1d-a839-4913-8964-a10eee08fbd2"), +- "ppc64el": uuid.UUID("c31c45e6-3f39-412e-80fb-4809c4980599"), ++ "ppc64le": uuid.UUID("c31c45e6-3f39-412e-80fb-4809c4980599"), + "riscv32": uuid.UUID("60d5a7fe-8e7d-435c-b714-3dd8162144e1"), + "riscv64": uuid.UUID("72ec70a6-cf74-40e6-bd49-4bda08e8f224"), + "s390": uuid.UUID("08a7acea-624c-4a20-91e8-6e0fa67d23f9"), +@@ -87,7 +87,7 @@ + "parisc": uuid.UUID("d212a430-fbc5-49f9-a983-a7feef2b8d0e"), + "ppc": uuid.UUID("98cfe649-1588-46dc-b2f0-add147424925"), + "ppc64": uuid.UUID("9225a9a3-3c19-4d89-b4f6-eeff88f17631"), +- "ppc64el": uuid.UUID("906bd944-4589-4aae-a4e4-dd983917446a"), ++ "ppc64le": uuid.UUID("906bd944-4589-4aae-a4e4-dd983917446a"), + "riscv32": uuid.UUID("ae0253be-1167-4007-ac68-43926c14c5de"), + "riscv64": uuid.UUID("b6ed5582-440b-4209-b8da-5ff7c419ea3d"), + "s390": uuid.UUID("7ac63b47-b25c-463b-8df8-b4a94e6c90e1"), +@@ -108,7 +108,7 @@ + "parisc": uuid.UUID("15de6170-65d3-431c-916e-b0dcd8393f25"), + "ppc": uuid.UUID("1b31b5aa-add9-463a-b2ed-bd467fc857e7"), + "ppc64": uuid.UUID("f5e2c20c-45b2-4ffa-bce9-2a60737e1aaf"), +- "ppc64el": uuid.UUID("d4a236e7-e873-4c07-bf1d-bf6cf7f1c3c6"), ++ "ppc64le": uuid.UUID("d4a236e7-e873-4c07-bf1d-bf6cf7f1c3c6"), + "riscv32": uuid.UUID("3a112a75-8729-4380-b4cf-764d79934448"), + "riscv64": uuid.UUID("efe0f087-ea8d-4469-821a-4c2a96a8386a"), + "s390": uuid.UUID("3482388e-4254-435a-a241-766a065f9960"), +@@ -129,7 +129,7 @@ + "parisc": uuid.UUID("dc4a4480-6917-4262-a4ec-db9384949f25"), + "ppc": uuid.UUID("7d14fec5-cc71-415d-9d6c-06bf0b3c3eaf"), + "ppc64": uuid.UUID("2c9739e2-f068-46b3-9fd0-01c5a9afbcca"), +- "ppc64el": uuid.UUID("15bb03af-77e7-4d4a-b12b-c0d084f7491c"), ++ "ppc64le": uuid.UUID("15bb03af-77e7-4d4a-b12b-c0d084f7491c"), + "riscv32": uuid.UUID("b933fb22-5c3f-4f91-af90-e2bb0fa50702"), + "riscv64": uuid.UUID("beaec34b-8442-439b-a40b-984381ed097d"), + "s390": uuid.UUID("cd0f869b-d0fb-4ca0-b141-9ea87cc78d66"), +@@ -150,7 +150,7 @@ + "parisc": uuid.UUID("5843d618-ec37-48d7-9f12-cea8e08768b2"), + "ppc": uuid.UUID("df765d00-270e-49e5-bc75-f47bb2118b09"), + "ppc64": uuid.UUID("bdb528a5-a259-475f-a87d-da53fa736a07"), +- "ppc64el": uuid.UUID("ee2b9983-21e8-4153-86d9-b6901a54d1ce"), ++ "ppc64le": uuid.UUID("ee2b9983-21e8-4153-86d9-b6901a54d1ce"), + "riscv32": uuid.UUID("cb1ee4e3-8cd0-4136-a0a4-aa61a32e8730"), + "riscv64": uuid.UUID("8f1056be-9b05-47c4-81d6-be53128e5b54"), + "s390": uuid.UUID("b663c618-e7bc-4d6d-90aa-11b756bb1797"), +@@ -171,7 +171,7 @@ + "parisc": uuid.UUID("450dd7d1-3224-45ec-9cf2-a43a346d71ee"), + "ppc": uuid.UUID("7007891d-d371-4a80-86a4-5cb875b9302e"), + "ppc64": uuid.UUID("0b888863-d7f8-4d9e-9766-239fce4d58af"), +- "ppc64el": uuid.UUID("c8bfbd1e-268e-4521-8bba-bf314c399557"), ++ "ppc64le": uuid.UUID("c8bfbd1e-268e-4521-8bba-bf314c399557"), + "riscv32": uuid.UUID("c3836a13-3137-45ba-b583-b16c50fe5eb4"), + "riscv64": uuid.UUID("d2f9000a-7a18-453f-b5cd-4d32f77a7b32"), + "s390": uuid.UUID("17440e4f-a8d0-467f-a46e-3912ae6ef2c5"), + +From 22740da280258990d557eb45ac90d86c4f821c05 Mon Sep 17 00:00:00 2001 +From: Vojtech Trefny +Date: Thu, 5 Dec 2024 14:31:15 +0100 +Subject: [PATCH 2/2] Do not crash when we fail to get discoverable GPT type + UUID + +No need to raise an exception if we fail to get the type UUID for +whatever reason. + +Related: RHEL-70153 +--- + blivet/devices/partition.py | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/blivet/devices/partition.py b/blivet/devices/partition.py +index 2d67be81f..89470d9fb 100644 +--- a/blivet/devices/partition.py ++++ b/blivet/devices/partition.py +@@ -365,10 +365,16 @@ def part_type_uuid_req(self): + hasattr(parted.Partition, "type_uuid")) + + if discoverable: +- parttype = gpt_part_uuid_for_mountpoint(self._mountpoint) +- log.debug("Discovered partition type UUID %s for mount '%s'", +- parttype, self._mountpoint) +- return parttype ++ try: ++ parttype = gpt_part_uuid_for_mountpoint(self._mountpoint) ++ except errors.GPTVolUUIDError as e: ++ log.error("Failed to get partition type UUID for mount '%s': %s", ++ self._mountpoint, str(e)) ++ return None ++ else: ++ log.debug("Discovered partition type UUID %s for mount '%s'", ++ parttype, self._mountpoint) ++ return parttype + return None + + @property diff --git a/python-blivet.spec b/python-blivet.spec index 097ce2e..5acc96f 100644 --- a/python-blivet.spec +++ b/python-blivet.spec @@ -5,7 +5,7 @@ Version: 3.10.0 #%%global prerelease .b2 # prerelease, if defined, should be something like .a1, .b1, .b2.dev1, or .c2 -Release: 13%{?prerelease}%{?dist} +Release: 14%{?prerelease}%{?dist} Epoch: 1 License: LGPL-2.1-or-later %global realname blivet @@ -27,6 +27,7 @@ Patch7: 0008-Align-sizes-up-for-growable-LVs.patch Patch8: 0009-mod_pass_in_stratis_test.patch Patch9: 0010-Fix_running_tests_in_FIPS_mode.patch Patch10: 0011-Make-GPT-default-label-type-on-all-architectures.patch +Patch11: 0012-Fix-crash-on-ppc64le-with-GPT.patch # Versions of required components (done so we make sure the buildrequires # match the requires versions of things). @@ -121,6 +122,10 @@ make DESTDIR=%{buildroot} install %{python3_sitelib}/* %changelog +* Thu Dec 05 2024 Vojtech Trefny - 3.10.0-14 +- Fix crash on ppc64le with GPT + Resolves: RHEL-70153 + * Tue Nov 19 2024 Vojtech Trefny - 3.10.0-13 - Make GPT default label type on all architectures Resolves: RHEL-52200