"Daniel P. Berrange" <berrange(a)redhat.com> wrote:
Testing current CVS on RHEL-5 host exposed a number of problems in
the
Xen driver
- When opening the remote driver for the network / storage / nodedev
APIs, we had missed the initialization of several fields, resulting
in a crash
- Reporting of errors from the remote driver was leaking memory, due
to missing xdr_free call.
- Small possibility of de-referencing NULL when handling an error
from the server, if no error message were provided
- Mistakenly tries to activate Xen INotify driver when non-root, even
though the directories it needs to monitor are chmod 0700 root.root
- Gratuitous reporting of failure to connect to XenD's TCP port when
running non-root, even though the proxy / remote driver will suceed
- Bad return values from the xenDaemonOpen() method
- Double free in the new xenStoreDoListDomains() method probably due
to merge error
The only really intreresting bit of the patch is for the first issue
in the remote driver. I've basically pulled out alot of duplicated
code into a couple of helper methods, so make these missing initialization
less likely in future.
remote_internal.c | 153 +++++++++++++++++++++++++-----------------------------
xen_unified.c | 12 ++--
xend_internal.c | 50 ++++++-----------
xs_internal.c | 2
4 files changed, 97 insertions(+), 120 deletions(-)
ACK. It all looks good, but for the fact that I see it'll
cause at least one conflict for me ;-)