Revert "pvmfw: rollback: Support fixed-digest RBP"
This reverts commit 7f8332c1070bf73dd71bfe1cce5d008c6a03bb06.
Reason for revert: b/434179455
Bug: 392628867
Change-Id: I8157b67a8a61cab65d4d0288fd7f7644abc91f7a
diff --git a/guest/pvmfw/avb/src/verify.rs b/guest/pvmfw/avb/src/verify.rs
index 6d4ff7d..d59e650 100644
--- a/guest/pvmfw/avb/src/verify.rs
+++ b/guest/pvmfw/avb/src/verify.rs
@@ -39,8 +39,6 @@
pub kernel_digest: Digest,
/// Initrd digest if initrd exists.
pub initrd_digest: Option<Digest>,
- /// VBMeta digest.
- pub vbmeta_digest: Digest,
/// Trusted public key.
pub public_key: &'a [u8],
/// VM capabilities.
@@ -293,7 +291,6 @@
let capabilities = Capability::get_capabilities(vbmeta_image)?;
let page_size = read_page_size(vbmeta_image)?;
let name = read_name(vbmeta_image)?;
- let vbmeta_digest = kernel_verify_result.calculate_sha256_digest();
if initrd.is_none() {
hash_descriptors.verify_no_initrd()?;
@@ -301,7 +298,6 @@
debug_level: DebugLevel::None,
kernel_digest: copy_digest(hash_descriptors.kernel)?,
initrd_digest: None,
- vbmeta_digest,
public_key: trusted_public_key,
capabilities,
rollback_index,
@@ -325,7 +321,6 @@
kernel_digest: copy_digest(hash_descriptors.kernel)?,
initrd_digest: Some(copy_digest(initrd_descriptor)?),
public_key: trusted_public_key,
- vbmeta_digest,
capabilities,
rollback_index,
page_size,
diff --git a/guest/pvmfw/avb/tests/api_test.rs b/guest/pvmfw/avb/tests/api_test.rs
index cab47a6..7d23642 100644
--- a/guest/pvmfw/avb/tests/api_test.rs
+++ b/guest/pvmfw/avb/tests/api_test.rs
@@ -101,7 +101,6 @@
kernel_digest,
initrd_digest: None,
public_key: &public_key,
- vbmeta_digest: [0; 32],
capabilities: vec![],
rollback_index: 0,
page_size: None,
@@ -148,7 +147,6 @@
kernel_digest,
initrd_digest: None,
public_key: &public_key,
- vbmeta_digest: [0; 32],
capabilities: vec![Capability::RemoteAttest],
rollback_index: 0,
page_size: None,
@@ -504,7 +502,6 @@
kernel_digest,
initrd_digest: None,
public_key: &public_key,
- vbmeta_digest: [0; 32],
capabilities: vec![],
rollback_index: 5,
page_size: None,
diff --git a/guest/pvmfw/avb/tests/utils.rs b/guest/pvmfw/avb/tests/utils.rs
index ba88dfe..843cca9 100644
--- a/guest/pvmfw/avb/tests/utils.rs
+++ b/guest/pvmfw/avb/tests/utils.rs
@@ -132,7 +132,6 @@
kernel_digest,
initrd_digest,
public_key: &public_key,
- vbmeta_digest: [0; 32],
capabilities,
// TODO(b/392081737): Capture expected rollback_index from build variables as we
// intend on auto-syncing rollback_index with security patch timestamps
@@ -169,7 +168,6 @@
kernel_digest,
initrd_digest: None,
public_key: &public_key,
- vbmeta_digest: [0; 32],
capabilities,
rollback_index: expected_rollback_index,
page_size,
diff --git a/guest/pvmfw/src/dice/mod.rs b/guest/pvmfw/src/dice/mod.rs
index c5628fb..6e2094e 100644
--- a/guest/pvmfw/src/dice/mod.rs
+++ b/guest/pvmfw/src/dice/mod.rs
@@ -219,7 +219,6 @@
kernel_digest: [1u8; size_of::<Digest>()],
initrd_digest: Some([2u8; size_of::<Digest>()]),
public_key: b"public key",
- vbmeta_digest: [0u8; 32],
name: None,
capabilities: vec![],
rollback_index: 42,
diff --git a/guest/pvmfw/src/rollback.rs b/guest/pvmfw/src/rollback.rs
index 76571f8..5692e95 100644
--- a/guest/pvmfw/src/rollback.rs
+++ b/guest/pvmfw/src/rollback.rs
@@ -24,7 +24,6 @@
use libfdt::Fdt;
use log::{error, info};
use pvmfw_avb::Capability;
-use pvmfw_avb::Digest;
use pvmfw_avb::VerifiedBootData;
use virtio_drivers::transport::pci::bus::{ConfigurationAccess, PciRoot};
use vmbase::fdt::{pci::PciInfo, SwiotlbInfo};
@@ -34,14 +33,8 @@
/// Criteria hard-coded into pvmfw, to perform fixed image verification.
enum FixedRollbackCriterion {
- #[allow(dead_code)] // TODO(b/402505709): Use this.
- /// Image must match the exact AVB digest (incl. image hash, rollback index, or public key).
- AvbDigest { digest: Digest },
/// Image must match the exact rollback index and have been signed with the given public key.
RollbackIndexPublicKey { index: u64, public_key: &'static [u8] },
- #[allow(dead_code)] // TODO(b/402505709): Use this.
- /// Image identifier is reserved but not supported on this platform so must be rejected.
- Reserved { name: &'static str },
}
/// Performs RBP based on the input payload, current DICE chain, and host-controlled platform.
@@ -122,19 +115,6 @@
Ok(())
}
}
- FixedRollbackCriterion::AvbDigest { digest: expected_digest } => {
- let digest = verified_boot_data.vbmeta_digest;
- if digest != expected_digest {
- error!("Digest mismatch: expected {expected_digest:x?}, found {digest:x?}");
- Err(RebootReason::InvalidPayload)
- } else {
- Ok(())
- }
- }
- FixedRollbackCriterion::Reserved { name } => {
- error!("Reserved payload name \"{name}\" not supported.");
- Err(RebootReason::InvalidPayload)
- }
}
}