From 95a03d69bb69059b0d4b30ea3dc3b64bba72fd1a Mon Sep 17 00:00:00 2001 From: Julian Stecklina Date: Sat, 26 Nov 2022 02:31:01 +0100 Subject: [PATCH] lanzaboote: reorganize to avoid explicit drops --- rust/lanzaboote/src/main.rs | 40 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/rust/lanzaboote/src/main.rs b/rust/lanzaboote/src/main.rs index 485b9b2..356976e 100644 --- a/rust/lanzaboote/src/main.rs +++ b/rust/lanzaboote/src/main.rs @@ -84,35 +84,33 @@ fn main(handle: Handle, mut system_table: SystemTable) -> Status { EmbeddedConfiguration::new(&mut booted_image_file(system_table.boot_services()).unwrap()) .unwrap(); - let mut file_system = system_table - .boot_services() - .get_image_file_system(handle) - .unwrap(); - let mut root = file_system.open_volume().unwrap(); + let mut kernel_file; + let initrd = { + let mut file_system = system_table + .boot_services() + .get_image_file_system(handle) + .unwrap(); + let mut root = file_system.open_volume().unwrap(); - let mut kernel_file = root - .open( - &config.kernel_filename, - FileMode::Read, - FileAttribute::empty(), - ) - .unwrap() - .into_regular_file() - .unwrap(); + kernel_file = root + .open( + &config.kernel_filename, + FileMode::Read, + FileAttribute::empty(), + ) + .unwrap() + .into_regular_file() + .unwrap(); - let initrd = root - .open( + root.open( &config.initrd_filename, FileMode::Read, FileAttribute::empty(), ) .unwrap() .into_regular_file() - .unwrap(); - - // We need to manually drop those to be able to touch the system_table again. - drop(root); - drop(file_system); + .unwrap() + }; let kernel_cmdline = booted_image_cmdline(system_table.boot_services()).unwrap();