|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [XEN PATCH for-4.14] tools/xen-ucode: fix error code propagation of microcode load operation
> -----Original Message-----
> From: Ian Jackson <ian.jackson@xxxxxxxxxx>
> Sent: 12 June 2020 17:54
> To: Igor Druzhinin <igor.druzhinin@xxxxxxxxxx>
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx; Andrew Cooper
> <Andrew.Cooper3@xxxxxxxxxx>; wl@xxxxxxx; Paul
> Durrant <xadimgnik@xxxxxxxxx>
> Subject: Re: [XEN PATCH for-4.14] tools/xen-ucode: fix error code propagation
> of microcode load
> operation
>
> Igor Druzhinin writes ("[PATCH] tools/xen-ucode: fix error code propagation
> of microcode load
> operation"):
> > Otherwise it's impossible to know the reason for a fault or blob rejection
> > inside the automation.
> ...
> > fprintf(stderr, "Failed to update microcode. (err: %s)\n",
> > strerror(errno));
>
> This part is fine.
>
> > + ret = errno;
> > xc_interface_close(xch);
> ...
> > }
> > close(fd);
> >
> > - return 0;
> > + return ret;
>
> Unfortunately I don't think this is right. errno might not fit into a
> return value.
I don't understand this part. Why would errno not fit?
> Returning nonzero on microcode loading error would
> definitely be right, but ...
>
> ... oh I have just read the rest of this file.
>
> I think what is missing here is simply `return errno' (and the braces)
> There is no need to call xc_interface_close, or munmap, if we are
> about to exit.
>
> I think fixing the lost error return is 4.14 material, so I have
> added that to the subject line.
>
> Paul, would you Release-ack a patch that replaced every `return errno'
> with (say) exit(12) ?
Why 12?
> Otherwise, fixing this program not to try to
> fit errno into an exit status is future work. Also I notice that the
> program exits 0 if invoked wrongly. Unhelpful! I would want to fix
> that too.
Agreed that is unhelpful. I'm happy in principle to release-ack something
replacing the returns with exits.
Paul
>
> Ian.
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |