Skip to content

Commit

Permalink
util/oslib-posix: Fix missing unlock in the error path of os_mem_prea…
Browse files Browse the repository at this point in the history
…lloc()

We're missing an unlock in case installing the signal handler failed.
Fortunately, we barely see this error in real life.

Fixes: a960d66 ("util/oslib-posix: Support concurrent os_mem_prealloc() invocation")
Fixes: CID 1468941
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Pankaj Gupta <pankaj.gupta@ionos.com>
Cc: Daniel P. Berrangé <berrange@redhat.com>
Cc: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20220111120830.119912-1-david@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
  • Loading branch information
davidhildenbrand authored and mstsirkin committed Feb 6, 2022
1 parent a4752a5 commit dd4fc60
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions util/oslib-posix.c
Expand Up @@ -683,6 +683,7 @@ void os_mem_prealloc(int fd, char *area, size_t memory, int smp_cpus,

ret = sigaction(SIGBUS, &act, &sigbus_oldact);
if (ret) {
qemu_mutex_unlock(&sigbus_mutex);
error_setg_errno(errp, errno,
"os_mem_prealloc: failed to install signal handler");
return;
Expand Down

0 comments on commit dd4fc60

Please sign in to comment.