pvmfw: update libavb error handling

Minor modifications to error handling to match new libavb_rs code; the
Verification error can now contain verification data, but we don't use
this feature so we can just drop this data to keep lifetime handling
simple.

Bug: b/290110273
Test: atest
Change-Id: Iffedf0efc9da8598352de4e0b60bd606d15b4336
diff --git a/pvmfw/avb/src/error.rs b/pvmfw/avb/src/error.rs
index af38c54..0f052e8 100644
--- a/pvmfw/avb/src/error.rs
+++ b/pvmfw/avb/src/error.rs
@@ -19,21 +19,20 @@
 
 /// Wrapper around `avb::SlotVerifyError` to add custom pvmfw errors.
 /// It is the error thrown by the payload verification API `verify_payload()`.
-#[derive(Clone, Debug, PartialEq, Eq)]
+#[derive(Debug, PartialEq, Eq)]
 pub enum PvmfwVerifyError {
-    /// Passthrough avb::SlotVerifyError.
-    AvbError(avb::SlotVerifyError),
+    /// Passthrough `avb::SlotVerifyError` with no `SlotVerifyData`.
+    AvbError(avb::SlotVerifyError<'static>),
     /// VBMeta has invalid descriptors.
     InvalidDescriptors(avb::IoError),
     /// Unknown vbmeta property.
     UnknownVbmetaProperty,
 }
 
-/// It's always possible to convert from an `avb::SlotVerifyError` since we are
-/// a superset.
-impl From<avb::SlotVerifyError> for PvmfwVerifyError {
+impl From<avb::SlotVerifyError<'_>> for PvmfwVerifyError {
     fn from(error: avb::SlotVerifyError) -> Self {
-        Self::AvbError(error)
+        // We don't use verification data on failure, drop it to get a `'static` lifetime.
+        Self::AvbError(error.without_verify_data())
     }
 }