From f20fd1c4770b235c9b38a3ca4b50efe16c41823a Mon Sep 17 00:00:00 2001 From: Pragyan Poudyal Date: Thu, 11 Dec 2025 12:34:41 +0530 Subject: [PATCH] composefs/usroverlay: Get mode from underlying /usr We'd want to do this as the permissions for /usr might be different on different distros Signed-off-by: Pragyan Poudyal --- crates/lib/src/bootc_composefs/state.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/lib/src/bootc_composefs/state.rs b/crates/lib/src/bootc_composefs/state.rs index 18ef34e0a..0382e260f 100644 --- a/crates/lib/src/bootc_composefs/state.rs +++ b/crates/lib/src/bootc_composefs/state.rs @@ -246,7 +246,11 @@ pub(crate) fn composefs_usr_overlay() -> Result<()> { return Ok(()); } - overlay_transient(usr, Some(0o755.into()))?; + // Get the mode from the underlying /usr directory + let usr_metadata = usr.metadata(".").context("Getting /usr metadata")?; + let usr_mode = Mode::from_raw_mode(usr_metadata.permissions().mode()); + + overlay_transient(usr, Some(usr_mode))?; println!("A writeable overlayfs is now mounted on /usr"); println!("All changes there will be discarded on reboot.");