[libvirt] [PATCH] Allow chardev of type 'file' for UML domains.

Daniel P. Berrange berrange at redhat.com
Mon Aug 23 11:04:39 UTC 2010


On Mon, Aug 23, 2010 at 12:59:16PM +0200, Soren Hansen wrote:
> On 23-08-2010 12:42, Daniel P. Berrange wrote:
> >> +    /*
> >> +     * At the moment, the only thing that populates keepfd is
> >> +     * umlBuildCommandLineChr. We want to close every fd it opens.
> >> +     */
> >> +    openmax = sysconf (_SC_OPEN_MAX);
> >> +    for (i = 0; i < openmax; i++)
> >> +        if (FD_ISSET(i, &keepfd))
> >> +            close(i);
> >> +
> > Unfortunately fdset is one of those limited types that can't
> > represent all possible values. So you need to use FD_SETSIZE
> > instead of _SC_OPEN_MAX here
> 
> Ok, I'll fix that up, but just so that I understand: Your concern is
> that there might be an open file descriptor between FD_SETSIZE and
> _SC_OPEN_MAX that we don't want to close?

No, its that if you try to run FD_ISSET  for i > FD_SETSIZE, you'll likely
have an array overflow / out of bounds, so just stop at FD_SETSIZE. When
we switch to the new virCommandPtr apis we'll remove this limitation.

Regards,
Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list