repart: Apply verity-sig max size based on partition type

We already do this for partition_min_size(), let's do it for
partition_max_size() as well. This makes sure repart doesn't accidentally
try to grow verity sig partitions to larger sizes than the hardcoded
max size in systemd.
This commit is contained in:
Daan De Meyer
2025-06-01 21:19:53 +02:00
parent c9e614eb25
commit 92d888235e
2 changed files with 6 additions and 2 deletions
+2 -2
View File
@@ -921,7 +921,7 @@ static uint64_t partition_min_size(const Context *context, const Partition *p) {
return p->current_size;
}
if (IN_SET(p->type.designator, PARTITION_ROOT_VERITY_SIG, PARTITION_USR_VERITY_SIG))
if (partition_designator_is_verity_sig(p->type.designator))
return VERITY_SIG_SIZE;
sz = p->current_size != UINT64_MAX ? p->current_size : HARD_MIN_SIZE;
@@ -967,7 +967,7 @@ static uint64_t partition_max_size(const Context *context, const Partition *p) {
return p->current_size;
}
if (p->verity == VERITY_SIG)
if (partition_designator_is_verity_sig(p->type.designator))
return VERITY_SIG_SIZE;
override_max = p->suppressing ? MIN(p->size_max, p->suppressing->size_max) : p->size_max;
+4
View File
@@ -31,6 +31,10 @@ typedef enum PartitionDesignator {
bool partition_designator_is_versioned(PartitionDesignator d) _const_;
static inline bool partition_designator_is_verity_sig(PartitionDesignator d) {
return IN_SET(d, PARTITION_ROOT_VERITY_SIG, PARTITION_USR_VERITY_SIG);
}
PartitionDesignator partition_verity_of(PartitionDesignator p) _const_;
PartitionDesignator partition_verity_sig_of(PartitionDesignator p) _const_;
PartitionDesignator partition_verity_to_data(PartitionDesignator d) _const_;