On Wed, Oct 02, 2013 at 08:49:46PM +0000, Geoff Levand wrote:
> Add a local variable and check return values.

The patch seems to do a bit more than that.
Could you either split the patch up or enhance the changelog?

> 
> Fixes build warnings like these:
> 
>   kexec/fs2dt.c: warning: ignoring return value of ‘read’
> 
> Signed-off-by: Geoff Levand <[email protected]> for Huawei, Linaro
> ---
>  kexec/fs2dt.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/kexec/fs2dt.c b/kexec/fs2dt.c
> index 1f5b0cf..50e173e 100644
> --- a/kexec/fs2dt.c
> +++ b/kexec/fs2dt.c
> @@ -555,6 +555,7 @@ static void putnode(void)
>       /* Add cmdline to the second kernel.  Check to see if the new
>        * cmdline has a root=.  If not, use the old root= cmdline.  */
>       if (!strcmp(basename,"chosen/")) {
> +             size_t result;
>               size_t cmd_len = 0;
>               char *param = NULL;
>               char filename[MAXPATH];
> @@ -636,8 +637,13 @@ static void putnode(void)
>                       close(fd);
>                       goto no_debug;
>               }
> -             read(fd, buff, statbuf.st_size);
> +             result = read(fd, buff, statbuf.st_size);
>               close(fd);
> +             if (result <= 0) {
> +                     printf("Unable to stat %s, printing from purgatory is 
> diabled\n",


It seems to me this should be "Unable to read..."

> +                                                                             
>                                 filename);
> +                     goto no_debug;
> +             }
>               strncpy(filename, "/proc/device-tree/", MAXPATH);
>               strncat(filename, buff, MAXPATH);
>               strncat(filename, "/compatible", MAXPATH);
> @@ -659,8 +665,8 @@ static void putnode(void)
>                       close(fd);
>                       goto no_debug;
>               }
> -             read(fd, buff, statbuf.st_size);
> -             if (!strcmp(buff, "hvterm1") || !strcmp(buff, 
> "hvterm-protocol"))
> +             result = read(fd, buff, statbuf.st_size);
> +             if (result && (!strcmp(buff, "hvterm1") || !strcmp(buff, 
> "hvterm-protocol")))
>                       my_debug = 1;
>               close(fd);
>               free(buff);
> -- 
> 1.8.1.2
> 
> 

_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to