diff options
author | Oleg Nesterov <[email protected]> | 2017-10-03 16:15:55 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2017-10-03 17:54:25 -0700 |
commit | 43a4f2619038002f48c78698c42c05692d4b4eb2 (patch) | |
tree | ca46e0bb1cbd6a522131f473ce7d7a4d9fe64a43 /tools/perf/util/trace-event-scripting.c | |
parent | eb23aa0317eb1f08e8d9d36b8753d42f03b32764 (diff) |
exec: binfmt_misc: fix race between load_misc_binary() and kill_node()
load_misc_binary() makes a local copy of fmt->interpreter under
entries_lock to avoid the race with kill_node() but this is not enough;
the whole Node can be freed after we drop entries_lock, not only the
->interpreter string.
Add dget/dput(fmt->dentry) to ensure bm_evict_inode() can't destroy/free
this Node.
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Oleg Nesterov <[email protected]>
Acked-by: Kees Cook <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Ben Woodard <[email protected]>
Cc: James Bottomley <[email protected]>
Cc: Jim Foraker <[email protected]>
Cc: Travis Gummels <[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