copy_process(): don't use ksys_close() on cleanups
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 27 Jun 2019 02:22:09 +0000 (22:22 -0400)
committerChristian Brauner <christian@brauner.io>
Thu, 27 Jun 2019 10:24:03 +0000 (12:24 +0200)
commit6fd2fe494b17bf2dec37b610d23a43a72b16923a
tree10373d534062579195279de454be72ad7c562147
parentbee19cd8f241ab3cd1bf79e03884e5371f9ef514
copy_process(): don't use ksys_close() on cleanups

anon_inode_getfd() should be used *ONLY* in situations when we are
guaranteed to be past the last failure point (including copying the
descriptor number to userland, at that).  And ksys_close() should
not be used for cleanups at all.

anon_inode_getfile() is there for all nontrivial cases like that.
Just use that...

Fixes: b3e583825266 ("clone: add CLONE_PIDFD")
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Reviewed-by: Jann Horn <jannh@google.com>
Signed-off-by: Christian Brauner <christian@brauner.io>
kernel/fork.c