diff options
author | Oleg Nesterov <[email protected]> | 2019-08-24 17:54:56 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2019-08-24 19:48:42 -0700 |
commit | 46d0b24c5ee10a15dfb25e20642f5a5ed59c5003 (patch) | |
tree | 6467a794faee3eac2a2839f70478f3fa22dfdd9c /tools/perf/util/trace-event-scripting.c | |
parent | 7b2b55da1db10a5525460633ae4b6fb0be060c41 (diff) |
userfaultfd_release: always remove uffd flags and clear vm_userfaultfd_ctx
userfaultfd_release() should clear vm_flags/vm_userfaultfd_ctx even if
mm->core_state != NULL.
Otherwise a page fault can see userfaultfd_missing() == T and use an
already freed userfaultfd_ctx.
Link: http://lkml.kernel.org/r/[email protected]
Fixes: 04f5866e41fb ("coredump: fix race condition between mmget_not_zero()/get_task_mm() and core dumping")
Signed-off-by: Oleg Nesterov <[email protected]>
Reported-by: Kefeng Wang <[email protected]>
Reviewed-by: Andrea Arcangeli <[email protected]>
Tested-by: Kefeng Wang <[email protected]>
Cc: Peter Xu <[email protected]>
Cc: Mike Rapoport <[email protected]>
Cc: Jann Horn <[email protected]>
Cc: Jason Gunthorpe <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Tetsuo Handa <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/util/trace-event-scripting.c')
0 files changed, 0 insertions, 0 deletions