From: Daan De Meyer Date: Sun, 1 Jun 2025 18:24:47 +0000 (+0200) Subject: repart: Apply verity-sig max size based on partition type X-Git-Tag: v258-rc1~430 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=92d888235edd4d1294561845ecb4c35cc6c0f0c9;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/repart/repart.c b/src/repart/repart.c index f3cc69ef113..ab212b4f42b 100644 --- a/src/repart/repart.c +++ b/src/repart/repart.c @@ -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; diff --git a/src/shared/gpt.h b/src/shared/gpt.h index f81c377c683..9e5ace35a45 100644 --- a/src/shared/gpt.h +++ b/src/shared/gpt.h @@ -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_;