Mergr misc fixes from Andrew Morton: "11 fixes" Mostly VM fixes, one psi polling fix, and one parisc build fix. * emailed patches from Andrew Morton <akpm@linux-foundation.org>: mm/kasan: fix false positive invalid-free reports with CONFIG_KASAN_SW_TAGS=y mm/zsmalloc.c: fix race condition in zs_destroy_pool mm/zsmalloc.c: migration can leave pages in ZS_EMPTY indefinitely mm, page_owner: handle THP splits correctly userfaultfd_release: always remove uffd flags and clear vm_userfaultfd_ctx psi: get poll_work to run when calling poll syscall next time mm: memcontrol: flush percpu vmevents before releasing memcg mm: memcontrol: flush percpu vmstats before releasing memcg parisc: fix compilation errrors mm, page_alloc: move_freepages should not examine struct page of reserved memory mm/z3fold.c: fix race between migration and destruction
Showing the changes to kernel (1 of 9 files). Show all
Unified · Split
| @@ -1131,7 +1131,15 @@ static void psi_trigger_destroy(struct kref *ref) · 1130 unmodified lines | |||
| 1131 | * deadlock while waiting for psi_poll_work to acquire trigger_lock | 1131 | * deadlock while waiting for psi_poll_work to acquire trigger_lock |
| 1132 | */ | 1132 | */ |
| 1133 | if (kworker_to_destroy) { | 1133 | if (kworker_to_destroy) { |
| 1134 | /* | ||
| 1135 | * After the RCU grace period has expired, the worker | ||
| 1136 | * can no longer be found through group->poll_kworker. | ||
| 1137 | * But it might have been already scheduled before | ||
| 1138 | * that - deschedule it cleanly before destroying it. | ||
| 1139 | */ | ||
| 1134 | kthread_cancel_delayed_work_sync(&group->poll_work); | 1140 | kthread_cancel_delayed_work_sync(&group->poll_work); |
| 1141 | atomic_set(&group->poll_scheduled, 0); | ||
| 1142 | |||
| 1135 | kthread_destroy_worker(kworker_to_destroy); | 1143 | kthread_destroy_worker(kworker_to_destroy); |
| 1136 | } | 1144 | } |
| 1137 | kfree(t); | 1145 | kfree(t); |