summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Luca Stefani <luca.stefani.ge1@gmail.com> 2025-02-08 12:09:34 +0100
committer Luca Stefani <luca.stefani.ge1@gmail.com> 2025-02-11 11:45:30 +0100
commit9235f4c4c3268e45082574b4f7c6835fcff7ec61 (patch)
tree15001e2fd97e4ad63c10ed2348622fddf54b48ad
parent328b0a755398aaaf17a7a6474aeb065b847afb0d (diff)
Ensure AVB rollback_index_location >= 1
Index 0 is reserved for the vbmeta partition. This works even for chained vbmeta partitions as the "father" index location is used instead of the one bundled within the image description. Test: aosp_arm64; m --soong-only Change-Id: Ibb033878e4e56e77b1621a32ba1f2ba7d8ceeedd
-rw-r--r--filesystem/filesystem.go2
-rw-r--r--filesystem/vbmeta.go14
2 files changed, 8 insertions, 8 deletions
diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go
index 0ce31b293..9f2b239a0 100644
--- a/filesystem/filesystem.go
+++ b/filesystem/filesystem.go
@@ -131,7 +131,7 @@ type FilesystemProperties struct {
// The index used to prevent rollback of the image. Only used if use_avb is true.
Rollback_index *int64
- // Rollback index location of this image. Must be 0, 1, 2, etc.
+ // Rollback index location of this image. Must be 1, 2, 3, etc.
Rollback_index_location *int64
// Name of the partition stored in vbmeta desc. Defaults to the name of this module.
diff --git a/filesystem/vbmeta.go b/filesystem/vbmeta.go
index 91826b244..e5809d31b 100644
--- a/filesystem/vbmeta.go
+++ b/filesystem/vbmeta.go
@@ -97,7 +97,7 @@ type ChainedPartitionProperties struct {
// Name of the chained partition
Name *string
- // Rollback index location of the chained partition. Must be 0, 1, 2, etc. Default is the
+ // Rollback index location of the chained partition. Must be 1, 2, 3, etc. Default is the
// index of this partition in the list + 1.
Rollback_index_location *int64
@@ -225,8 +225,8 @@ func (v *vbmeta) GenerateAndroidBuildActions(ctx android.ModuleContext) {
}
ril := info.RollbackIndexLocation
- if ril < 0 {
- ctx.PropertyErrorf("chained_partitions", "rollback index location must be 0, 1, 2, ...")
+ if ril < 1 {
+ ctx.PropertyErrorf("chained_partitions", "rollback index location must be 1, 2, 3, ...")
continue
} else if seenRils[ril] {
ctx.PropertyErrorf("chained_partitions", "Multiple chained partitions with the same rollback index location %d", ril)
@@ -241,13 +241,13 @@ func (v *vbmeta) GenerateAndroidBuildActions(ctx android.ModuleContext) {
for _, cpm := range v.properties.Chained_partition_metadata {
name := proptools.String(cpm.Name)
if name == "" {
- ctx.PropertyErrorf("chained_partitions", "name must be specified")
+ ctx.PropertyErrorf("chained_partition_metadata", "name must be specified")
continue
}
- ril := proptools.IntDefault(cpm.Rollback_index_location, -1)
- if ril < 0 {
- ctx.PropertyErrorf("chained_partition_metadata", "rollback index location must be 0, 1, 2, ...")
+ ril := proptools.IntDefault(cpm.Rollback_index_location, 0)
+ if ril < 1 {
+ ctx.PropertyErrorf("chained_partition_metadata", "rollback index location must be 1, 2, 3, ...")
continue
} else if seenRils[ril] {
ctx.PropertyErrorf("chained_partition_metadata", "Multiple chained partitions with the same rollback index location %d", ril)