kernel: Fixed an issue where scanning could cause the application to freeze.
This commit is contained in:
@@ -652,25 +652,17 @@ static void track_throne_function(void)
|
|||||||
if (ksu_is_manager_uid_valid()) {
|
if (ksu_is_manager_uid_valid()) {
|
||||||
pr_info("manager is uninstalled, invalidate it!\n");
|
pr_info("manager is uninstalled, invalidate it!\n");
|
||||||
ksu_invalidate_manager_uid();
|
ksu_invalidate_manager_uid();
|
||||||
|
goto prune;
|
||||||
}
|
}
|
||||||
pr_info("Searching manager...\n");
|
pr_info("Searching manager...\n");
|
||||||
search_manager("/data/app", 2, &uid_list);
|
search_manager("/data/app", 2, &uid_list);
|
||||||
pr_info("Search manager finished\n");
|
pr_info("Search manager finished\n");
|
||||||
goto prune;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Always perform search when called from dynamic manager rescan
|
// Always perform search when called from dynamic manager rescan
|
||||||
if (ksu_is_dynamic_manager_enabled() && !dynamic_manager_exist) {
|
} else if (!dynamic_manager_exist && ksu_is_dynamic_manager_enabled()) {
|
||||||
pr_info("Dynamic sign enabled, Searching manager...\n");
|
pr_info("Dynamic sign enabled, Searching manager...\n");
|
||||||
search_manager("/data/app", 2, &uid_list);
|
search_manager("/data/app", 2, &uid_list);
|
||||||
pr_info("Search Dynamic sign manager finished\n");
|
pr_info("Search Dynamic sign manager finished\n");
|
||||||
}
|
}
|
||||||
// If traditional manager exists but no dynamic manager instances found, do a full search
|
|
||||||
if (manager_exist && ksu_is_dynamic_manager_enabled() && !dynamic_manager_exist) {
|
|
||||||
pr_info("Searching manager...\n");
|
|
||||||
search_manager("/data/app", 2, &uid_list);
|
|
||||||
pr_info("Search manager finished\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
prune:
|
prune:
|
||||||
// then prune the allowlist
|
// then prune the allowlist
|
||||||
|
|||||||
Reference in New Issue
Block a user