Upgrade zerocopy to 0.7.5
Bug: 302709631
Test: m
Change-Id: Ie7edce1d7040a5afb4c1624c298640fa32a3a9e2
diff --git a/pvmfw/src/config.rs b/pvmfw/src/config.rs
index d0a6b7f..926f42b 100644
--- a/pvmfw/src/config.rs
+++ b/pvmfw/src/config.rs
@@ -21,11 +21,11 @@
use log::{info, warn};
use static_assertions::const_assert_eq;
use vmbase::util::RangeExt;
-use zerocopy::{FromBytes, LayoutVerified};
+use zerocopy::{FromBytes, FromZeroes, LayoutVerified};
/// Configuration data header.
#[repr(C, packed)]
-#[derive(Clone, Copy, Debug, FromBytes)]
+#[derive(Clone, Copy, Debug, FromZeroes, FromBytes)]
struct Header {
/// Magic number; must be `Header::MAGIC`.
magic: u32,
@@ -127,7 +127,7 @@
}
#[repr(packed)]
-#[derive(Clone, Copy, Debug, FromBytes)]
+#[derive(Clone, Copy, Debug, FromZeroes, FromBytes)]
struct HeaderEntry {
offset: u32,
size: u32,
@@ -147,7 +147,7 @@
}
#[repr(C, packed)]
-#[derive(Clone, Copy, Debug, Eq, FromBytes, PartialEq)]
+#[derive(Clone, Copy, Debug, Eq, FromZeroes, FromBytes, PartialEq)]
pub struct Version {
minor: u16,
major: u16,
diff --git a/pvmfw/src/gpt.rs b/pvmfw/src/gpt.rs
index 06bf994..71eb569 100644
--- a/pvmfw/src/gpt.rs
+++ b/pvmfw/src/gpt.rs
@@ -26,6 +26,7 @@
use vmbase::util::ceiling_div;
use vmbase::virtio::{pci, HalImpl};
use zerocopy::FromBytes;
+use zerocopy::FromZeroes;
type VirtIOBlk = pci::VirtIOBlk<HalImpl>;
@@ -156,7 +157,7 @@
type Lba = u64;
/// Structure as defined in release 2.10 of the UEFI Specification (5.3.2 GPT Header).
-#[derive(FromBytes)]
+#[derive(FromZeroes, FromBytes)]
#[repr(C, packed)]
struct Header {
signature: u64,
diff --git a/pvmfw/src/instance.rs b/pvmfw/src/instance.rs
index 22839cb..f2cd6a3 100644
--- a/pvmfw/src/instance.rs
+++ b/pvmfw/src/instance.rs
@@ -35,6 +35,7 @@
use vmbase::virtio::HalImpl;
use zerocopy::AsBytes;
use zerocopy::FromBytes;
+use zerocopy::FromZeroes;
pub enum Error {
/// Unexpected I/O error while accessing the underlying disk.
@@ -174,7 +175,7 @@
}
}
-#[derive(FromBytes)]
+#[derive(FromZeroes, FromBytes)]
#[repr(C, packed)]
struct Header {
magic: [u8; Header::MAGIC.len()],
@@ -258,7 +259,7 @@
/// Marks the start of an instance.img entry.
///
/// Note: Virtualization/microdroid_manager/src/instance.rs uses the name "partition".
-#[derive(AsBytes, FromBytes)]
+#[derive(AsBytes, FromZeroes, FromBytes)]
#[repr(C, packed)]
struct EntryHeader {
uuid: u128,
@@ -279,7 +280,7 @@
}
}
-#[derive(AsBytes, FromBytes)]
+#[derive(AsBytes, FromZeroes, FromBytes)]
#[repr(C)]
struct EntryBody {
code_hash: Hash,
diff --git a/virtualizationservice/vfio_handler/src/aidl.rs b/virtualizationservice/vfio_handler/src/aidl.rs
index 1c3c5d9..618c165 100644
--- a/virtualizationservice/vfio_handler/src/aidl.rs
+++ b/virtualizationservice/vfio_handler/src/aidl.rs
@@ -26,6 +26,7 @@
use rustutils::system_properties;
use zerocopy::{
byteorder::{BigEndian, U32},
+ FromZeroes,
FromBytes,
};
@@ -82,7 +83,7 @@
/// The structure of DT table header in dtbo.img.
/// https://source.android.com/docs/core/architecture/dto/partitions
#[repr(C)]
-#[derive(Debug, FromBytes)]
+#[derive(Debug, FromZeroes, FromBytes)]
struct DtTableHeader {
/// DT_TABLE_MAGIC
magic: U32<BigEndian>,
@@ -106,7 +107,7 @@
/// The structure of each DT table entry (v0) in dtbo.img.
/// https://source.android.com/docs/core/architecture/dto/partitions
#[repr(C)]
-#[derive(Debug, FromBytes)]
+#[derive(Debug, FromZeroes, FromBytes)]
struct DtTableEntry {
/// size of each DT
dt_size: U32<BigEndian>,