From ffe3e68c35140dcd60515eea21a2d0e124141e92 Mon Sep 17 00:00:00 2001 From: Ylarod Date: Fri, 7 Apr 2023 12:46:59 +0800 Subject: [PATCH] ksud: ensure ksud context when install (#356) Incorrect se context will make module system broken --- userspace/ksud/src/event.rs | 4 ++-- userspace/ksud/src/restorecon.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/userspace/ksud/src/event.rs b/userspace/ksud/src/event.rs index e2a29574..13a0423f 100644 --- a/userspace/ksud/src/event.rs +++ b/userspace/ksud/src/event.rs @@ -3,7 +3,7 @@ use log::{info, warn}; use std::{collections::HashMap, path::Path}; use crate::{ - assets, defs, mount, + assets, defs, mount, restorecon, utils::{self, ensure_clean_dir, ensure_dir_exists}, }; @@ -246,7 +246,7 @@ pub fn daemon() -> Result<()> { pub fn install() -> Result<()> { ensure_dir_exists(defs::ADB_DIR)?; std::fs::copy("/proc/self/exe", defs::DAEMON_PATH)?; - + restorecon::setcon(defs::DAEMON_PATH, restorecon::ADB_CON)?; // install binary assets assets::ensure_binaries().with_context(|| "Failed to extract assets")?; diff --git a/userspace/ksud/src/restorecon.rs b/userspace/ksud/src/restorecon.rs index 5258bed8..93b984be 100644 --- a/userspace/ksud/src/restorecon.rs +++ b/userspace/ksud/src/restorecon.rs @@ -7,8 +7,8 @@ use anyhow::{Context, Ok}; #[cfg(any(target_os = "linux", target_os = "android"))] use extattr::{setxattr, Flags as XattrFlags}; -const SYSTEM_CON: &str = "u:object_r:system_file:s0"; -const _ADB_CON: &str = "u:object_r:adb_data_file:s0"; +pub const SYSTEM_CON: &str = "u:object_r:system_file:s0"; +pub const ADB_CON: &str = "u:object_r:adb_data_file:s0"; const SELINUX_XATTR: &str = "security.selinux"; pub fn setcon>(path: P, con: &str) -> Result<()> {