repart: initialize seed earlier
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 5 Sep 2024 06:49:09 +0000 (15:49 +0900)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 10 Sep 2024 12:56:05 +0000 (14:56 +0200)
As the seed is used by context_load_partition_table() -> derive_uuid().

Fixes #34257.

(cherry picked from commit b8a8000aba4620a1d93ac1d04dbb86050d9c5fe8)

src/partition/repart.c

index a2f8d0c7eab91bea14c682ea2f3dcf71ac421c82..3b7c165f920ae04f89dcb32eddab67fd6d1d1cb5 100644 (file)
@@ -8155,6 +8155,10 @@ static int run(int argc, char *argv[]) {
         if (!context)
                 return log_oom();
 
+        r = context_read_seed(context, arg_root);
+        if (r < 0)
+                return r;
+
         r = context_copy_from(context);
         if (r < 0)
                 return r;
@@ -8232,10 +8236,6 @@ static int run(int argc, char *argv[]) {
                         return r;
         }
 
-        r = context_read_seed(context, arg_root);
-        if (r < 0)
-                return r;
-
         /* Make sure each partition has a unique UUID and unique label */
         r = context_acquire_partition_uuids_and_labels(context);
         if (r < 0)