Fix crash on ppc64le with GPT

Resolves: RHEL-70153
This commit is contained in:
Vojtech Trefny 2024-12-05 17:09:11 +01:00
parent b475497402
commit dfbbc05206
2 changed files with 114 additions and 1 deletions

View File

@ -0,0 +1,108 @@
From 041b320003687fb6c740f429a079dd7b7c8f7f6f Mon Sep 17 00:00:00 2001
From: Vojtech Trefny <vtrefny@redhat.com>
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 <vtrefny@redhat.com>
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

View File

@ -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 <vtrefny@redhat.com> - 3.10.0-14
- Fix crash on ppc64le with GPT
Resolves: RHEL-70153
* Tue Nov 19 2024 Vojtech Trefny <vtrefny@redhat.com> - 3.10.0-13
- Make GPT default label type on all architectures
Resolves: RHEL-52200