From 210a15794c9ceb026155554d367ccdb7a388f7c1 Mon Sep 17 00:00:00 2001 From: Fuu Date: Wed, 7 Jun 2023 16:08:22 +0800 Subject: [PATCH 01/34] dragonball: avoid obtaining lock twice in create_stdio_console Fixes #7055 Signed-off-by: Fuu --- .../src/device_manager/console_manager.rs | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/dragonball/src/device_manager/console_manager.rs b/src/dragonball/src/device_manager/console_manager.rs index 23cf6886f..d5adb74e6 100644 --- a/src/dragonball/src/device_manager/console_manager.rs +++ b/src/dragonball/src/device_manager/console_manager.rs @@ -79,16 +79,17 @@ impl ConsoleManager { .unwrap() .set_output_stream(Some(Box::new(std::io::stdout()))); let stdin_handle = std::io::stdin(); - stdin_handle - .lock() - .set_raw_mode() - .map_err(|e| DeviceMgrError::ConsoleManager(ConsoleManagerError::StdinHandle(e)))?; - stdin_handle - .lock() - .set_non_block(true) - .map_err(ConsoleManagerError::StdinHandle) - .map_err(DeviceMgrError::ConsoleManager)?; - + { + let guard = stdin_handle.lock(); + guard + .set_raw_mode() + .map_err(ConsoleManagerError::StdinHandle) + .map_err(DeviceMgrError::ConsoleManager)?; + guard + .set_non_block(true) + .map_err(ConsoleManagerError::StdinHandle) + .map_err(DeviceMgrError::ConsoleManager)?; + } let handler = ConsoleEpollHandler::new(device, Some(stdin_handle), None, &self.logger); self.subscriber_id = Some(self.epoll_mgr.add_subscriber(Box::new(handler))); self.backend = Some(Backend::StdinHandle(std::io::stdin())); From 56d2ea9b78f01cc437b6ae427ba050d5acb15605 Mon Sep 17 00:00:00 2001 From: Archana Shinde Date: Thu, 11 May 2023 00:40:10 -0700 Subject: [PATCH 02/34] kata-ctl: Refactor kernel module check Adding vhost and vhost-net to the kernel modules. These do not require any kernel module parameters to be checked. Currently, kernel params is a required field. Make this as optional. Could make this as