!143 修复code_sign模块锁以及引用计数编码错误,导致的reboot开关机测试高概率出现卡在DAYU界面不开机问题

Merge pull request !143 from 施运理/1015fix
This commit is contained in:
openharmony_ci
2024-10-18 09:02:03 +00:00
committed by Gitee
+8 -6
View File
@@ -486,13 +486,15 @@ static void insert_new_signature_info(struct inode *file_node, int type,
RB_CLEAR_NODE(&new_info->rb_node);
if ((*old_info) != NULL) {
write_lock(verity->lock);
rb_erase_node(verity->root, verity->node_count, *old_info);
(*old_info)->type |= FILE_SIGNATURE_DELETE;
write_unlock(verity->lock);
if (atomic_sub_return(1, &(*old_info)->reference) <= 0) {
kfree(*old_info);
*old_info = NULL;
if ((*old_info) != NULL) {
if (atomic_sub_return(1, &(*old_info)->reference) <= 0) {
rb_erase_node(verity->root, verity->node_count, *old_info);
(*old_info)->type |= FILE_SIGNATURE_DELETE;
kfree(*old_info);
*old_info = NULL;
}
}
write_unlock(verity->lock);
}
write_lock(verity->lock);