kernel: optimize dynamic signature operation, enhance error recovery capability

- Add timeout protection for multi-manager APK verification.
This commit is contained in:
ShirkNeko
2025-08-01 16:55:13 +08:00
parent 7c4d8da7d1
commit bf5a8a8909
5 changed files with 298 additions and 65 deletions

View File

@@ -2,6 +2,7 @@
#define __KSU_H_DYNAMIC_SIGN
#include <linux/types.h>
#include <linux/completion.h>
#include "ksu.h"
#define DYNAMIC_SIGN_FILE_MAGIC 0x7f445347 // 'DSG', u32
@@ -20,7 +21,7 @@ struct manager_info {
bool is_active;
};
// Dynamic sign operations
// Enhanced dynamic sign operations with error recovery
int ksu_handle_dynamic_sign(struct dynamic_sign_user_config *config);
void ksu_dynamic_sign_init(void);
void ksu_dynamic_sign_exit(void);
@@ -34,10 +35,13 @@ bool ksu_is_any_manager(uid_t uid);
int ksu_get_manager_signature_index(uid_t uid);
int ksu_get_active_managers(struct manager_list_info *info);
// Multi-manager APK verification
// Multi-manager APK verification with timeout protection
bool ksu_is_multi_manager_apk(char *path, int *signature_index);
// Manager rescanning functionality
bool ksu_trigger_manager_rescan(void);
// Configuration access for signature verification
bool ksu_get_dynamic_sign_config(unsigned int *size, const char **hash);
#endif