[PATCH 2/2] ppc: kvm: use anon_inode_getfd() with O_CLOEXEC flag

Yann Droneaud ydroneaud at opteya.com
Mon Aug 26 18:23:12 EST 2013


Le 26.08.2013 09:39, Paolo Bonzini a écrit :
> Il 25/08/2013 17:04, Alexander Graf ha scritto:
>> On 24.08.2013, at 21:14, Yann Droneaud wrote:
>> 
>>> 
>>> 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 at opteya.com>
>>> Link: 
>>> http://lkml.kernel.org/r/cover.1377372576.git.ydroneaud@opteya.com
>> 
>> Reviewed-by: Alexander Graf <agraf at suse.de>
>> 
>> Would it make sense to simply inherit the O_CLOEXEC flag from the
>> parent kvm fd instead? That would give user space the power to keep
>> fds across exec() if it wants to.
> 
> Does it make sense to use non-O_CLOEXEC file descriptors with KVM at
> all?  Besides fork() not being supported by KVM, as described in
> Documentation/virtual/kvm/api.txt, the VMAs of the parent process go
> away as soon as you exec().  I'm not sure how you can use the inherited
> file descriptor in a sensible way after exec().
> 

Sounds a lot like InfiniBand subsystem behavor: IB file descriptors
are of no use accross exec() since memory mappings tied to those fds
won't be available in the new process:

https://lkml.org/lkml/2013/7/8/380
http://mid.gmane.org/f58540dc64fec1ac0e496dfcd3cc1af7@meuh.org

Regards.

-- 
Yann Droneaud
OPTEYA



More information about the Linuxppc-dev mailing list