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: