diff --git a/aya-log-common/src/lib.rs b/aya-log-common/src/lib.rs
index 472090ee..24f41610 100644
--- a/aya-log-common/src/lib.rs
+++ b/aya-log-common/src/lib.rs
@@ -217,7 +217,7 @@ impl WriteToBuf for [u16; 8] {
     // compile-time constant.
     #[inline(never)]
     fn write(self, buf: &mut [u8]) -> Option<NonZeroUsize> {
-        let bytes = unsafe { core::mem::transmute::<_, [u8; 16]>(self) };
+        let bytes = unsafe { core::mem::transmute::<[u16; 8], [u8; 16]>(self) };
         write(Argument::ArrU16Len8.into(), &bytes, buf)
     }
 }
diff --git a/aya/src/maps/mod.rs b/aya/src/maps/mod.rs
index 192c988b..7c1d2a84 100644
--- a/aya/src/maps/mod.rs
+++ b/aya/src/maps/mod.rs
@@ -1025,7 +1025,7 @@ mod tests {
     use std::os::fd::AsRawFd as _;
 
     use assert_matches::assert_matches;
-    use libc::EFAULT;
+    use libc::{c_char, EFAULT};
 
     use super::*;
     use crate::{
@@ -1126,8 +1126,9 @@ mod tests {
                     mem::size_of::<bpf_map_info>() as u32
                 );
                 let map_info = unsafe { &mut *(attr.info.info as *mut bpf_map_info) };
-                map_info.name[..TEST_NAME.len()]
-                    .copy_from_slice(unsafe { mem::transmute(TEST_NAME) });
+                map_info.name[..TEST_NAME.len()].copy_from_slice(unsafe {
+                    mem::transmute::<&[u8], &[c_char]>(TEST_NAME.as_bytes())
+                });
                 Ok(0)
             }
             _ => Err((-1, io::Error::from_raw_os_error(EFAULT))),