--- Begin Message ---
Subject: |
[PATCH] installer: Fix segfault on double logical partition removal. |
Date: |
Wed, 31 Aug 2022 23:22:55 +0200 |
* gnu/installer/parted.scm (auto-partition!): Avoid removing logical
partitions twice.
---
gnu/installer/parted.scm | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 641a1f45e8..84fdbe24fb 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -983,6 +984,11 @@ (define* (auto-partition! disk
(for-each
(lambda (partition)
(and (data-partition? partition)
+ ;; Do not remove logical partitions ourselves, since
+ ;; disk-remove-partition* will remove all the logical partitions
+ ;; residing on an extended partition, which would lead to a
+ ;; double-remove and ensuing SEGFAULT.
+ (not (logical-partition? partition))
(disk-remove-partition* disk partition)))
non-boot-partitions)
base-commit: 47c11772dfe840a536ed7ec438fe832878f51054
--
2.37.2
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#57513: [PATCH] installer: Fix segfault on double logical partition removal. |
Date: |
Thu, 01 Sep 2022 18:48:51 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) |
Hey,
> * gnu/installer/parted.scm (auto-partition!): Avoid removing logical
> partitions twice.
I was able to reproduce the issue by creating an extended partition
containing a single logical partition using the manual partitioning tool
then, the automatic one right after.
It resulted in a segfault, which is fixed by your patch, that's a very
nice catch!
Pushed as 4989f6acff3b3fcfbd9dde3e3c2767bd2cd6d49e.
Thanks,
Mathieu
--- End Message ---