|
From: | Vladimir 'phcoder' Serbinenko |
Subject: | Re: [PATCH 1/3] push/pop errno in initrd read file path |
Date: | Fri, 11 Mar 2016 23:00:21 +0100 |
On 03/11/2016 02:34 PM, Vladimir 'phcoder' Serbinenko wrote:
Le ven. 11 mars 2016 19:13, Josef Bacik <address@hidden
<mailto:address@hidden>> a écrit :
On 03/11/2016 12:23 PM, Vladimir 'phcoder' Serbinenko wrote:
>
>
> On Friday, March 11, 2016, Josef Bacik <address@hidden
<mailto:address@hidden>
> <mailto:address@hidden <mailto:address@hidden>>> wrote:
>
> If you try to load an initrd from http and it errors out we will
> free the initrd
> context but continue on because net_tcp_socket_close() will reset
> the grub_errno
> as will grub_initrd_close(). So we'll lose the errno and return
> GRUB_ERR_NONE
> instead of the original error. Add push/pulls to the appropriate
> places so we
> don't lose our errno. Thanks,
>
> Close functions shouldn't do this. Can you fix them instead? Also
please
> add [2.02] to the subjectwhen appropriate, like in this case.
>
So do we not want close functions to do grub_error() at all? Seems like
there may be some cases where we want to know there was an error closing
a tcp socket or the initrd? Maybe not, just want to make sure before I
go make these two functions void.
How can a failure occur in close routines? What can we do with the
failure anyway?
So sending the FIN packet for the tcp close was failing for example. I don't think we can do anything really, I just don't like doing a patch 4 times, so I want to make sure turning these close functions into void's is ok. Thanks,
Josef
[Prev in Thread] | Current Thread | [Next in Thread] |