qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] pr-manager: Fix invalid g_free() crash bug
@ 2019-08-22 13:38 Markus Armbruster
  2019-08-22 14:54 ` Philippe Mathieu-Daudé
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Markus Armbruster @ 2019-08-22 13:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: fam, pbonzini, kwolf, qemu-stable, qemu-block

pr_manager_worker() passes its @opaque argument to g_free().  Wrong;
it points to pr_manager_worker()'s automatic @data.  Broken when
commit 2f3a7ab39be converted @data from heap- to stack-allocated.  Fix
by deleting the g_free().

Fixes: 2f3a7ab39bec4ba8022dc4d42ea641165b004e3e
Cc: qemu-stable@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 scsi/pr-manager.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/scsi/pr-manager.c b/scsi/pr-manager.c
index ee43663576..0c866e8698 100644
--- a/scsi/pr-manager.c
+++ b/scsi/pr-manager.c
@@ -39,7 +39,6 @@ static int pr_manager_worker(void *opaque)
     int fd = data->fd;
     int r;
 
-    g_free(data);
     trace_pr_manager_run(fd, hdr->cmdp[0], hdr->cmdp[1]);
 
     /* The reference was taken in pr_manager_execute.  */
-- 
2.21.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] pr-manager: Fix invalid g_free() crash bug
  2019-08-22 13:38 [Qemu-devel] [PATCH] pr-manager: Fix invalid g_free() crash bug Markus Armbruster
@ 2019-08-22 14:54 ` Philippe Mathieu-Daudé
  2019-08-22 16:39 ` Paolo Bonzini
  2019-09-02 14:10 ` Kevin Wolf
  2 siblings, 0 replies; 4+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-08-22 14:54 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel
  Cc: fam, pbonzini, qemu-block, qemu-stable, kwolf

On 8/22/19 3:38 PM, Markus Armbruster wrote:
> pr_manager_worker() passes its @opaque argument to g_free().  Wrong;
> it points to pr_manager_worker()'s automatic @data.  Broken when
> commit 2f3a7ab39be converted @data from heap- to stack-allocated.  Fix
> by deleting the g_free().
> 
> Fixes: 2f3a7ab39bec4ba8022dc4d42ea641165b004e3e
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  scsi/pr-manager.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/scsi/pr-manager.c b/scsi/pr-manager.c
> index ee43663576..0c866e8698 100644
> --- a/scsi/pr-manager.c
> +++ b/scsi/pr-manager.c
> @@ -39,7 +39,6 @@ static int pr_manager_worker(void *opaque)
>      int fd = data->fd;
>      int r;
>  
> -    g_free(data);
>      trace_pr_manager_run(fd, hdr->cmdp[0], hdr->cmdp[1]);
>  
>      /* The reference was taken in pr_manager_execute.  */
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] pr-manager: Fix invalid g_free() crash bug
  2019-08-22 13:38 [Qemu-devel] [PATCH] pr-manager: Fix invalid g_free() crash bug Markus Armbruster
  2019-08-22 14:54 ` Philippe Mathieu-Daudé
@ 2019-08-22 16:39 ` Paolo Bonzini
  2019-09-02 14:10 ` Kevin Wolf
  2 siblings, 0 replies; 4+ messages in thread
From: Paolo Bonzini @ 2019-08-22 16:39 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel; +Cc: fam, kwolf, qemu-stable, qemu-block

On 22/08/19 15:38, Markus Armbruster wrote:
> pr_manager_worker() passes its @opaque argument to g_free().  Wrong;
> it points to pr_manager_worker()'s automatic @data.  Broken when
> commit 2f3a7ab39be converted @data from heap- to stack-allocated.  Fix
> by deleting the g_free().
> 
> Fixes: 2f3a7ab39bec4ba8022dc4d42ea641165b004e3e
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  scsi/pr-manager.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/scsi/pr-manager.c b/scsi/pr-manager.c
> index ee43663576..0c866e8698 100644
> --- a/scsi/pr-manager.c
> +++ b/scsi/pr-manager.c
> @@ -39,7 +39,6 @@ static int pr_manager_worker(void *opaque)
>      int fd = data->fd;
>      int r;
>  
> -    g_free(data);
>      trace_pr_manager_run(fd, hdr->cmdp[0], hdr->cmdp[1]);
>  
>      /* The reference was taken in pr_manager_execute.  */
> 

Acked-by: Paolo Bonzini <pbonzini@redhat.com>

Since I am disappearing soon, I wouldn't mind if the block layer people
picked this up.

Paolo


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Qemu-devel] [PATCH] pr-manager: Fix invalid g_free() crash bug
  2019-08-22 13:38 [Qemu-devel] [PATCH] pr-manager: Fix invalid g_free() crash bug Markus Armbruster
  2019-08-22 14:54 ` Philippe Mathieu-Daudé
  2019-08-22 16:39 ` Paolo Bonzini
@ 2019-09-02 14:10 ` Kevin Wolf
  2 siblings, 0 replies; 4+ messages in thread
From: Kevin Wolf @ 2019-09-02 14:10 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: fam, pbonzini, qemu-devel, qemu-block, qemu-stable

Am 22.08.2019 um 15:38 hat Markus Armbruster geschrieben:
> pr_manager_worker() passes its @opaque argument to g_free().  Wrong;
> it points to pr_manager_worker()'s automatic @data.  Broken when
> commit 2f3a7ab39be converted @data from heap- to stack-allocated.  Fix
> by deleting the g_free().
> 
> Fixes: 2f3a7ab39bec4ba8022dc4d42ea641165b004e3e
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Thanks, applied to the block branch.

Kevin


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-09-02 14:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-22 13:38 [Qemu-devel] [PATCH] pr-manager: Fix invalid g_free() crash bug Markus Armbruster
2019-08-22 14:54 ` Philippe Mathieu-Daudé
2019-08-22 16:39 ` Paolo Bonzini
2019-09-02 14:10 ` Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).