[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] libxl: fix an error path that uses uninitialised rc in libxl_set_memory_target
>>> On 22.06.16 at 15:47, <wei.liu2@xxxxxxxxxx> wrote: > On Wed, Jun 22, 2016 at 06:58:28AM -0600, Jan Beulich wrote: >> >>> On 12.06.16 at 16:09, <wei.liu2@xxxxxxxxxx> wrote: >> > --- a/tools/libxl/libxl.c >> > +++ b/tools/libxl/libxl.c >> > @@ -4927,10 +4927,12 @@ retry_transaction: >> > >> > target = libxl__xs_read(gc, t, GCSPRINTF("%s/memory/target", >> > dompath)); >> > if (!target && !domid) { >> > - if (!xs_transaction_end(ctx->xsh, t, 1)) >> > + if (!xs_transaction_end(ctx->xsh, t, 1)) { >> > + rc = ERROR_FAIL; >> >> I'm sorry for noticing this only now - is ERROR_FAIL the right thing >> to use here, considering how things worked before the change that >> introduced the issue getting fixed here? I had intentionally decided >> to use ERROR_INVAL in the patch variant I did submit (as at that >> time I wasn't yet aware of the other fix floating around already). >> > > When I wrote this patch, I thought the return value should be tied to > xs_transaction_end. xs_transaction_end() returning zero means success afaict. > The original implementation could return 1 -- that's not ERROR_INVAL, > what did I miss? And the original return value was mad enough anyway so > I don't see a need to retain that -- after all the purpose of > ecdc6fd8787 is to fix the return value of that function. I didn't mean to return to that crude model. It is my understanding that the original meaning of 1 was "invalid" (and would have resulted when going through the path in question), and hence ERROR_INVAL would be the proper replacement for the case where target and/or domid aren't valid. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |