[PATCH] dump:Add close fd on error return to avoid resource leak

Zongmin Zhou posted 1 patch 1 year ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231107024417.585475-1-min._5Fhalo@163.com
Maintainers: "Marc-André Lureau" <marcandre.lureau@redhat.com>
dump/dump.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] dump:Add close fd on error return to avoid resource leak
Posted by Zongmin Zhou 1 year ago
Signed-off-by: Zongmin Zhou<zhouzongmin@kylinos.cn>
---
 dump/dump.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/dump/dump.c b/dump/dump.c
index 1c304cadfd..ad5294e853 100644
--- a/dump/dump.c
+++ b/dump/dump.c
@@ -2160,6 +2160,7 @@ void qmp_dump_guest_memory(bool paging, const char *protocol,
         return;
     }
     if (kdump_raw && lseek(fd, 0, SEEK_CUR) == (off_t) -1) {
+        close(fd);
         error_setg(errp, "kdump-raw formats require a seekable file");
         return;
     }
-- 
2.34.1
Re: [PATCH] dump:Add close fd on error return to avoid resource leak
Posted by Philippe Mathieu-Daudé 1 year ago
On 7/11/23 03:44, Zongmin Zhou wrote:
> Signed-off-by: Zongmin Zhou<zhouzongmin@kylinos.cn>
> ---
>   dump/dump.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/dump/dump.c b/dump/dump.c
> index 1c304cadfd..ad5294e853 100644
> --- a/dump/dump.c
> +++ b/dump/dump.c
> @@ -2160,6 +2160,7 @@ void qmp_dump_guest_memory(bool paging, const char *protocol,
>           return;
>       }
>       if (kdump_raw && lseek(fd, 0, SEEK_CUR) == (off_t) -1) {
> +        close(fd);
>           error_setg(errp, "kdump-raw formats require a seekable file");
>           return;
>       }

Since I'm preparing a PR, I'm queuing this patch, thanks!
Re: [PATCH] dump:Add close fd on error return to avoid resource leak
Posted by Marc-André Lureau 1 year ago
On Tue, Nov 7, 2023 at 3:48 PM Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> On 7/11/23 03:44, Zongmin Zhou wrote:
> > Signed-off-by: Zongmin Zhou<zhouzongmin@kylinos.cn>
> > ---
> >   dump/dump.c | 1 +
> >   1 file changed, 1 insertion(+)
> >
> > diff --git a/dump/dump.c b/dump/dump.c
> > index 1c304cadfd..ad5294e853 100644
> > --- a/dump/dump.c
> > +++ b/dump/dump.c
> > @@ -2160,6 +2160,7 @@ void qmp_dump_guest_memory(bool paging, const char *protocol,
> >           return;
> >       }
> >       if (kdump_raw && lseek(fd, 0, SEEK_CUR) == (off_t) -1) {
> > +        close(fd);
> >           error_setg(errp, "kdump-raw formats require a seekable file");
> >           return;
> >       }
>
> Since I'm preparing a PR, I'm queuing this patch, thanks!
>

ack, thanks

-- 
Marc-André Lureau
Re: [PATCH] dump:Add close fd on error return to avoid resource leak
Posted by Philippe Mathieu-Daudé 1 year ago
On 7/11/23 03:44, Zongmin Zhou wrote:
> Signed-off-by: Zongmin Zhou<zhouzongmin@kylinos.cn>

Reported-by: Coverity CID 1523842 (RESOURCE_LEAK)
Fixes: e6549197f7 ("dump: Add command interface for kdump-raw formats")
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

> ---
>   dump/dump.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/dump/dump.c b/dump/dump.c
> index 1c304cadfd..ad5294e853 100644
> --- a/dump/dump.c
> +++ b/dump/dump.c
> @@ -2160,6 +2160,7 @@ void qmp_dump_guest_memory(bool paging, const char *protocol,
>           return;
>       }
>       if (kdump_raw && lseek(fd, 0, SEEK_CUR) == (off_t) -1) {
> +        close(fd);
>           error_setg(errp, "kdump-raw formats require a seekable file");
>           return;
>       }


Re: [PATCH] dump:Add close fd on error return to avoid resource leak
Posted by Marc-André Lureau 1 year ago
On Tue, Nov 7, 2023 at 10:07 AM Zongmin Zhou <min_halo@163.com> wrote:
>
> Signed-off-by: Zongmin Zhou<zhouzongmin@kylinos.cn>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

> ---
>  dump/dump.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/dump/dump.c b/dump/dump.c
> index 1c304cadfd..ad5294e853 100644
> --- a/dump/dump.c
> +++ b/dump/dump.c
> @@ -2160,6 +2160,7 @@ void qmp_dump_guest_memory(bool paging, const char *protocol,
>          return;
>      }
>      if (kdump_raw && lseek(fd, 0, SEEK_CUR) == (off_t) -1) {
> +        close(fd);
>          error_setg(errp, "kdump-raw formats require a seekable file");
>          return;
>      }
> --
> 2.34.1
>
>


-- 
Marc-André Lureau