Revert "kernel: deny all unexpected signature block"

This reverts commit 869cd50b79.
This commit is contained in:
weishu
2024-03-30 16:05:31 +08:00
parent d533c27e4f
commit 942866d986

View File

@@ -241,28 +241,19 @@ static __always_inline bool check_v2_signature(char *path,
offset = 4; offset = 4;
if (id == 0x7109871au) { if (id == 0x7109871au) {
v2_signing_blocks++; v2_signing_blocks++;
if (v2_signing_blocks > 1) {
pr_info("Unexpected v2 signature count: %d\n",
v2_signing_blocks);
v2_signing_valid = false;
goto clean;
}
v2_signing_valid = v2_signing_valid =
check_block(fp, &size4, &pos, &offset, check_block(fp, &size4, &pos, &offset,
expected_size, expected_sha256); expected_size, expected_sha256);
} else if (id == 0xf05368c0u) { } else if (id == 0xf05368c0u) {
// http://aospxref.com/android-14.0.0_r2/xref/frameworks/base/core/java/android/util/apk/ApkSignatureSchemeV3Verifier.java#73 // http://aospxref.com/android-14.0.0_r2/xref/frameworks/base/core/java/android/util/apk/ApkSignatureSchemeV3Verifier.java#73
v3_signing_exist = true; v3_signing_exist = true;
pr_warn("Unexpected V3 sigauture exist!\n");
goto clean;
} else if (id == 0x1b93ad61u) { } else if (id == 0x1b93ad61u) {
// http://aospxref.com/android-14.0.0_r2/xref/frameworks/base/core/java/android/util/apk/ApkSignatureSchemeV3Verifier.java#74 // http://aospxref.com/android-14.0.0_r2/xref/frameworks/base/core/java/android/util/apk/ApkSignatureSchemeV3Verifier.java#74
v3_1_signing_exist = true; v3_1_signing_exist = true;
pr_warn("Unexpected V3_1 sigauture exist!\n");
goto clean;
} else { } else {
pr_info("Unknown singature block id: 0x%08x\n", id); #ifdef CONFIG_KSU_DEBUG
goto clean; pr_info("Unknown id: 0x%08x\n", id);
#endif
} }
pos += (size8 - offset); pos += (size8 - offset);
} }
@@ -315,8 +306,8 @@ static struct kernel_param_ops expected_size_ops = {
.get = param_get_uint, .get = param_get_uint,
}; };
module_param_cb(ksu_debug_manager_uid, &expected_size_ops, module_param_cb(ksu_debug_manager_uid, &expected_size_ops, &ksu_debug_manager_uid,
&ksu_debug_manager_uid, S_IRUSR | S_IWUSR); S_IRUSR | S_IWUSR);
#endif #endif