From 02546231663dad4e673d6c151505bde193b49f55 Mon Sep 17 00:00:00 2001 From: 5ec1cff Date: Fri, 8 Dec 2023 19:47:06 +0800 Subject: [PATCH] fix check_unix_socket --- zygiskd/src/utils.rs | 2 +- zygiskd/src/zygiskd.rs | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/zygiskd/src/utils.rs b/zygiskd/src/utils.rs index a250e7c..3c953e6 100644 --- a/zygiskd/src/utils.rs +++ b/zygiskd/src/utils.rs @@ -204,7 +204,7 @@ pub fn check_unix_socket(stream: &UnixStream, block: bool) -> bool { }; let timeout = if block { -1 } else { 0 }; libc::poll(&mut pfd, 1, timeout); - if pfd.revents != 0 && pfd.revents & libc::POLLIN == 0 { + if pfd.revents & !libc::POLLIN != 0 { return false; } } diff --git a/zygiskd/src/zygiskd.rs b/zygiskd/src/zygiskd.rs index 83d416a..9815b74 100644 --- a/zygiskd/src/zygiskd.rs +++ b/zygiskd/src/zygiskd.rs @@ -35,19 +35,13 @@ pub fn main() -> Result<()> { let arch = get_arch()?; log::debug!("Daemon architecture: {arch}"); - - log::info!("Load modules"); let modules = load_modules(arch)?; let context = Context { modules, }; let context = Arc::new(context); - - log::info!("Create socket"); let listener = create_daemon_socket()?; - - log::info!("Handle zygote connections"); for stream in listener.incoming() { let mut stream = stream?; let context = Arc::clone(&context); @@ -259,8 +253,8 @@ fn handle_daemon_action(action: DaemonSocketAction, mut stream: UnixStream, cont } match companion.as_ref() { Some(Some(sock)) => { - if let Err(_) = sock.send_fd(stream.as_raw_fd()) { - log::error!("Failed to send companion fd socket of module `{}`", module.name); + if let Err(e) = sock.send_fd(stream.as_raw_fd()) { + log::error!("Failed to send companion fd socket of module `{}`: {}", module.name, e); stream.write_u8(0)?; } // Ok: Send by companion @@ -269,7 +263,6 @@ fn handle_daemon_action(action: DaemonSocketAction, mut stream: UnixStream, cont stream.write_u8(0)?; } } - log::info!("companion done"); } DaemonSocketAction::GetModuleDir => { let index = stream.read_usize()?;