kvm: use anon_inode_getfd() with O_CLOEXEC flag
authorYann Droneaud <ydroneaud@opteya.com>
Sat, 24 Aug 2013 20:14:07 +0000 (22:14 +0200)
committerGleb Natapov <gleb@redhat.com>
Mon, 26 Aug 2013 10:19:35 +0000 (13:19 +0300)
commit24009b0549de563006705b9af8694fc8fc9a5aa1
tree57ff65347231974fc0621919529022464a7ed6e1
parent9bc6cbebfe006bcf0f83b10221cd4b893a130d10
kvm: use anon_inode_getfd() with O_CLOEXEC flag

KVM uses anon_inode_get() to allocate file descriptors as part
of some of its ioctls. But those ioctls are lacking a flag argument
allowing userspace to choose options for the newly opened file descriptor.

In such case it's advised to use O_CLOEXEC by default so that
userspace is allowed to choose, without race, if the file descriptor
is going to be inherited across exec().

This patch set O_CLOEXEC flag on all file descriptors created
with anon_inode_getfd() to not leak file descriptors across exec().

Signed-off-by: Yann Droneaud <ydroneaud@opteya.com>
Link: http://lkml.kernel.org/r/cover.1377372576.git.ydroneaud@opteya.com
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
virt/kvm/kvm_main.c