From: Ian Campbell <ian.campbell@citrix.com>
To: Wei Liu <wei.liu2@citrix.com>,
Xen-devel <xen-devel@lists.xenproject.org>
Cc: Dario Faggioli <dario.faggioli@citrix.com>,
Ian Jackson <Ian.Jackson@eu.citrix.com>
Subject: Re: [PATCH for-4.6 02/13] libxl: properly clean up array in libxl_list_cpupool failure path
Date: Thu, 23 Jul 2015 10:22:02 +0100 [thread overview]
Message-ID: <1437643322.19412.64.camel@citrix.com> (raw)
In-Reply-To: <1437638354-14216-3-git-send-email-wei.liu2@citrix.com>
On Thu, 2015-07-23 at 08:59 +0100, Wei Liu wrote:
> Document how cpupool_info works. Distinguish success (ERROR_FAIL +
> ENOENT) vs failure in libxl_list_cpupool and properly clean up the
> array
> in failure path.
>
> Also switch to libxl__realloc and call libxl_cpupool_{init,dispose}
> where appropriate.
>
> There is change of behaviour. Previously if memory allocation fails
> the
> said function returns NULL. Now memory allocation failure is fatal.
> This
> is in line with how we deal with memory allocation failure in other
> places in libxl though.
I think this function would benefit from making the out: label be the
error path and the success case just a return ptr (just before the
label).
Then your error handling for cpupool_info would become
libxl_cpupoolinfo_dispose(&info);
if (errno != ENOENT) goto out;
break;
and the "if (failed)" block would be at the out label (without the
iff).
Such splitting of the success/failure case is allowed if the only
shared code would be the GC_FREE, which is the case here.
Ian.
next prev parent reply other threads:[~2015-07-23 9:22 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-23 7:59 [PATCH for-4.6 00/13] tools: fixes inspired by Coverity scan Wei Liu
2015-07-23 7:59 ` [PATCH for-4.6 01/13] libxl: use thread-safe localtime_t and handle NULL Wei Liu
2015-07-23 9:14 ` Ian Campbell
2015-07-23 9:34 ` Wei Liu
2015-07-23 7:59 ` [PATCH for-4.6 02/13] libxl: properly clean up array in libxl_list_cpupool failure path Wei Liu
2015-07-23 9:22 ` Ian Campbell [this message]
2015-07-23 14:29 ` Dario Faggioli
2015-07-23 7:59 ` [PATCH for-4.6 03/13] xl/libxl: remove a bunch of pointless assignments Wei Liu
2015-07-23 9:25 ` Ian Campbell
2015-07-23 7:59 ` [PATCH for-4.6 04/13] xl: free pid string in do_daemonize Wei Liu
2015-07-23 9:34 ` Ian Campbell
2015-07-23 7:59 ` [PATCH for-4.6 05/13] xl: check json string is not null before printing in create_domain Wei Liu
2015-07-23 9:36 ` Ian Campbell
2015-07-23 7:59 ` [PATCH for-4.6 06/13] xl: call libxl_dominfo_{init, dispose} in psr_cmt_show Wei Liu
2015-07-23 9:36 ` Ian Campbell
2015-07-23 7:59 ` [PATCH for-4.6 07/13] xl: call libxl_dominfo_{init, dispose} in main_cpupoolnumasplit Wei Liu
2015-07-23 9:41 ` Ian Campbell
2015-07-23 10:34 ` Wei Liu
2015-07-23 7:59 ` [PATCH for-4.6 08/13] xl: call libxl_dominfo_init in main_list Wei Liu
2015-07-23 9:44 ` Ian Campbell
2015-07-23 7:59 ` [PATCH for-4.6 09/13] xl: call libxl_bitmap_{init, dispose} in main_cpupoolcreate Wei Liu
2015-07-23 9:46 ` Ian Campbell
2015-07-23 7:59 ` [PATCH for-4.6 10/13] xl: valid fd can be 0 in main_loadpolicy Wei Liu
2015-07-23 9:48 ` Ian Campbell
2015-07-23 7:59 ` [PATCH for-4.6 11/13] xl: free event struct after use in main_shutdown_or_reboot Wei Liu
2015-07-23 9:52 ` Ian Campbell
2015-07-23 7:59 ` [PATCH for-4.6 12/13] tools/ocaml: call libxl_dominfo_{init, dispose} in stub Wei Liu
2015-07-23 8:32 ` Andrew Cooper
2015-07-23 8:38 ` Wei Liu
2015-07-23 9:07 ` Andrew Cooper
2015-07-23 9:55 ` Ian Campbell
2015-07-23 10:00 ` Andrew Cooper
2015-07-23 7:59 ` [PATCH for-4.6 13/13] tools/ocaml: handle strdup failure in stub_xl_device_disk_of_vdev Wei Liu
2015-07-23 8:38 ` Andrew Cooper
2015-07-23 9:12 ` Dave Scott
2015-07-23 9:06 ` Dave Scott
2015-07-24 11:06 ` [PATCH for-4.6 00/13] tools: fixes inspired by Coverity scan Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1437643322.19412.64.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=dario.faggioli@citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.