diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index 2640a4369214..9e7bbdc91f7a 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -384,6 +384,7 @@ + @@ -5735,6 +5736,7 @@ + @@ -115132,6 +115134,11 @@ + + + + + @@ -116385,6 +116392,7 @@ + diff --git a/android/abi_gki_aarch64_oplus b/android/abi_gki_aarch64_oplus index 8d81b5dc8b62..d4abfde0e0b2 100644 --- a/android/abi_gki_aarch64_oplus +++ b/android/abi_gki_aarch64_oplus @@ -2594,6 +2594,7 @@ __traceiter_android_vh_commit_creds __traceiter_android_vh_cpu_idle_enter __traceiter_android_vh_cpu_idle_exit + __traceiter_android_vh_cpu_up __traceiter_android_vh_do_send_sig_info __traceiter_android_vh_em_cpu_energy __traceiter_android_vh_exclude_reserved_zone @@ -2776,6 +2777,7 @@ __tracepoint_android_vh_commit_creds __tracepoint_android_vh_cpu_idle_enter __tracepoint_android_vh_cpu_idle_exit + __tracepoint_android_vh_cpu_up __tracepoint_android_vh_do_send_sig_info __tracepoint_android_vh_em_cpu_energy __tracepoint_android_vh_exclude_reserved_zone diff --git a/fs/incfs/vfs.c b/fs/incfs/vfs.c index 0650ee90f8b1..ea7866fbfd6e 100644 --- a/fs/incfs/vfs.c +++ b/fs/incfs/vfs.c @@ -458,8 +458,10 @@ static struct dentry *open_or_create_special_dir(struct dentry *backing_dir, err = vfs_mkdir(backing_inode, index_dentry, 0777); inode_unlock(backing_inode); - if (err) + if (err) { + dput(index_dentry); return ERR_PTR(err); + } if (!d_really_is_positive(index_dentry) || unlikely(d_unhashed(index_dentry))) { diff --git a/mm/memory.c b/mm/memory.c index 44c6a8ee197b..5db2a3ed395b 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3159,7 +3159,7 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf) */ if (!pte_map_lock(vmf)) { ret = VM_FAULT_RETRY; - goto out_free_new; + goto out_invalidate_end; } if (likely(pte_same(*vmf->pte, vmf->orig_pte))) { if (old_page) { @@ -3247,6 +3247,8 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf) put_page(old_page); } return page_copied ? VM_FAULT_WRITE : 0; +out_invalidate_end: + mmu_notifier_invalidate_range_only_end(&range); out_free_new: put_page(new_page); out: