|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v6 02/18] xl / libxl: push parsing of SSID and CPU pool ID down to libxl
On Tue, Jun 10, 2014 at 01:57:55PM +0100, Ian Campbell wrote:
> On Mon, 2014-06-09 at 13:43 +0100, Wei Liu wrote:
> > This patch pushes parsing of "init_seclabel", "seclabel",
> > "device_model_stubdomain_seclabel" and "pool" down to libxl level.
> >
> > Originally the parsing is done in xl level, which is not ideal because
> > libxl won't have the truely relevant information. With this patch libxl
> > holds important information by itself.
> >
> > The libxl IDL is extended to hold the string of labels and pool name.
> > And if there those strings are present they take precedence over the
> > numeric representations.
> >
> > As all relevant structures have a field called X_name / X_label now, a
> > string is also copied there so that we can use it directly.
>
> I'm not sure what you mean by this. Do you mean that if the caller uses
> the numeric and not the string version we will populate the string side?
>
I mean I added string field in libxl_dominfo etc, so that caller won't
have to do the translation.
I shall make this clearer in commit message.
> > In order to
> > be compatible with users of older versions of libxl, this patch also
> > defines LIBXL_HAVE_SSID_LABEL and LIBXL_HAVE_CPUPOOL_NAME. If they are
> > defined, the respective strings are available. And if those strings are
> > not NULL, libxl will do the parsing and ignore the numeric values.
> >
> > Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> > Cc: Dario Faggioli <dario.faggioli@xxxxxxxxxx>
> > Cc: Juergen Gross <juergen.gross@xxxxxxxxxxxxxx>
> > Cc: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>
>
> (I switched to Juergen's new address in the CC)
>
> > ---
> > tools/libxl/libxl.c | 19 ++++++--
> > tools/libxl/libxl.h | 20 ++++++++
> > tools/libxl/libxl_create.c | 57 +++++++++++++++++++++++
> > tools/libxl/libxl_dm.c | 4 ++
> > tools/libxl/libxl_types.idl | 6 +++
> > tools/libxl/xl_cmdimpl.c | 107
> > ++++++++++++-------------------------------
> > tools/libxl/xl_sxp.c | 7 +--
> > 7 files changed, 134 insertions(+), 86 deletions(-)
> >
> > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> > index 900b8d4..5f320ca 100644
> > --- a/tools/libxl/libxl.c
> > +++ b/tools/libxl/libxl.c
> > @@ -516,12 +516,18 @@ int libxl_domain_preserve(libxl_ctx *ctx, uint32_t
> > domid,
> > return 0;
> > }
> >
> > -static void xcinfo2xlinfo(const xc_domaininfo_t *xcinfo,
> > +static void xcinfo2xlinfo(libxl_ctx *ctx,
> > + const xc_domaininfo_t *xcinfo,
> > libxl_dominfo *xlinfo)
> > {
> > + size_t size;
> > +
> > memcpy(&(xlinfo->uuid), xcinfo->handle, sizeof(xen_domain_handle_t));
> > xlinfo->domid = xcinfo->domain;
> > xlinfo->ssidref = xcinfo->ssidref;
> > + if (libxl_flask_sid_to_context(ctx, xlinfo->ssidref,
> > + &xlinfo->ssid_label, &size) < 0)
> > + xlinfo->ssid_label = NULL;
>
> libxl_set_memory_target uses xcinfo2xlinfo but incorrectly fails to call
> dispose on the result, so it will leak any ssid_label.
>
I will fix this.
Wei.
> The other callers of this function all seem to return the result to the
> application, which can be expected to be correct here.
>
> Other than that:
> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
>
> Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |