[Libvir] [patch 1/5] iptables: fix invalid free
Daniel Veillard
veillard at redhat.com
Wed Mar 21 14:31:41 UTC 2007
On Wed, Mar 21, 2007 at 01:55:35PM +0000, Mark McLoughlin wrote:
> - I think the use case is a little different - generally in libvirt,
> we're only allocating very small chunks where the CPU hit for
> initialisation would be negligible and would never show up on a
> profile. I'd prefer to take the minor hit of zero-initialising
> most/all memory for programming ease.
>
> - If our wrappers always zero-initialise, we don't need the
> "initialise to -1 when debugging" thing.
>
> - If we rely on calloc() zero-initialising in our wrappers, we give
> opportunity for libc to optimise where it knows the memory is
> already initialised - e.g. where it's mmap()ing the memory
> from /dev/zero
okay, okay, let's use calloc() for libvirt, but then there is a number of
places where I probably used memset() for zeroing, they should all be cleaned
up.
> Ah, memory usage reports ... nice. Would such a report be less useful
> with the two mixed together, though? e.g. I personally would just like
> to see the libvirt memory usage, rather than libxml2, in such a report.
well memory allocated by libxml2 as strings my be kept for libvirt own usage
> Again, though, I think libvirt has slightly different needs from a
> malloc() wrapper.
yes, agreed.
> > okay, I assume those reporting layers are missing ATM, right ?
>
> Nope, it's all there.
>
> See, in qemudAddIptablesRules() we set VIR_ERR_NO_MEMORY if
> iptablesContextNew() returns NULL, qemudAutostartConfigs() calls
> qemudLog() if an error is set and qemudLog(), in turn, reports to
> syslog.
then all calloc/malloc calls in qemud should get that report code
(maybe factored to avoid repeated code ?)
Daniel
--
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard | virtualization library http://libvirt.org/
veillard at redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
More information about the libvir-list
mailing list