pvmfw: update avb Ops lifetimes

libavb_rs Ops lifetimes now distinguish between the Ops lifetime and the
preloaded partition lifetimes, so that we can more easily re-use Ops
objects and return verification data out of functions without also
carrying the Ops around.

Bug: b/330335215
Test: atest libpvmfw_avb.integration_test
Change-Id: Ie4e07f8d079a7408f99f7a72ad4885bbfa09c69b
diff --git a/pvmfw/avb/src/ops.rs b/pvmfw/avb/src/ops.rs
index 9711f72..62bf239 100644
--- a/pvmfw/avb/src/ops.rs
+++ b/pvmfw/avb/src/ops.rs
@@ -59,7 +59,7 @@
     pub(crate) fn verify_partition(
         &mut self,
         partition_name: &CStr,
-    ) -> SlotVerifyResult<SlotVerifyData> {
+    ) -> SlotVerifyResult<SlotVerifyData<'a>> {
         slot_verify(
             self,
             &[partition_name],
@@ -70,7 +70,7 @@
     }
 }
 
-impl<'a> avb::Ops for Ops<'a> {
+impl<'a> avb::Ops<'a> for Ops<'a> {
     fn read_from_partition(
         &mut self,
         partition: &CStr,
@@ -82,7 +82,7 @@
         Ok(buffer.len())
     }
 
-    fn get_preloaded_partition(&mut self, partition: &CStr) -> IoResult<&[u8]> {
+    fn get_preloaded_partition(&mut self, partition: &CStr) -> IoResult<&'a [u8]> {
         self.payload.get_partition(partition)
     }