From: Glauber Costa <glommer@redhat.com>
To: kvm@vger.kernel.org
Cc: avi@redhat.com
Subject: [PATCH v3 3/8] replace malloc with qemu_malloc
Date: Tue, 14 Jul 2009 11:35:13 -0400 [thread overview]
Message-ID: <1247585718-32738-4-git-send-email-glommer@redhat.com> (raw)
In-Reply-To: <1247585718-32738-3-git-send-email-glommer@redhat.com>
This patch replaces both malloc and malloc+memset sequences
with qemu_malloc and qemu_mallocz. Target is upstream integration
Signed-off-by: Glauber Costa <glommer@redhat.com>
---
qemu-kvm-x86.c | 31 ++++++++-----------------------
qemu-kvm.c | 26 +++++---------------------
2 files changed, 13 insertions(+), 44 deletions(-)
diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
index daf60b6..e953391 100644
--- a/qemu-kvm-x86.c
+++ b/qemu-kvm-x86.c
@@ -390,12 +390,9 @@ struct kvm_msr_list *kvm_get_msr_list(kvm_context_t kvm)
return NULL;
/* Old kernel modules had a bug and could write beyond the provided
memory. Allocate at least a safe amount of 1K. */
- msrs = malloc(MAX(1024, sizeof(*msrs) +
- sizer.nmsrs * sizeof(*msrs->indices)));
- if (!msrs) {
- errno = ENOMEM;
- return NULL;
- }
+ msrs = qemu_malloc(MAX(1024, sizeof(*msrs) +
+ sizer.nmsrs * sizeof(*msrs->indices)));
+
msrs->nmsrs = sizer.nmsrs;
r = ioctl(kvm->fd, KVM_GET_MSR_INDEX_LIST, msrs);
if (r == -1) {
@@ -409,13 +406,9 @@ struct kvm_msr_list *kvm_get_msr_list(kvm_context_t kvm)
int kvm_get_msrs(kvm_vcpu_context_t vcpu, struct kvm_msr_entry *msrs, int n)
{
- struct kvm_msrs *kmsrs = malloc(sizeof *kmsrs + n * sizeof *msrs);
+ struct kvm_msrs *kmsrs = qemu_malloc(sizeof *kmsrs + n * sizeof *msrs);
int r, e;
- if (!kmsrs) {
- errno = ENOMEM;
- return -1;
- }
kmsrs->nmsrs = n;
memcpy(kmsrs->entries, msrs, n * sizeof *msrs);
r = ioctl(vcpu->fd, KVM_GET_MSRS, kmsrs);
@@ -428,13 +421,9 @@ int kvm_get_msrs(kvm_vcpu_context_t vcpu, struct kvm_msr_entry *msrs, int n)
int kvm_set_msrs(kvm_vcpu_context_t vcpu, struct kvm_msr_entry *msrs, int n)
{
- struct kvm_msrs *kmsrs = malloc(sizeof *kmsrs + n * sizeof *msrs);
+ struct kvm_msrs *kmsrs = qemu_malloc(sizeof *kmsrs + n * sizeof *msrs);
int r, e;
- if (!kmsrs) {
- errno = ENOMEM;
- return -1;
- }
kmsrs->nmsrs = n;
memcpy(kmsrs->entries, msrs, n * sizeof *msrs);
r = ioctl(vcpu->fd, KVM_SET_MSRS, kmsrs);
@@ -524,9 +513,7 @@ int kvm_setup_cpuid(kvm_vcpu_context_t vcpu, int nent,
struct kvm_cpuid *cpuid;
int r;
- cpuid = malloc(sizeof(*cpuid) + nent * sizeof(*entries));
- if (!cpuid)
- return -ENOMEM;
+ cpuid = qemu_malloc(sizeof(*cpuid) + nent * sizeof(*entries));
cpuid->nent = nent;
memcpy(cpuid->entries, entries, nent * sizeof(*entries));
@@ -542,9 +529,7 @@ int kvm_setup_cpuid2(kvm_vcpu_context_t vcpu, int nent,
struct kvm_cpuid2 *cpuid;
int r;
- cpuid = malloc(sizeof(*cpuid) + nent * sizeof(*entries));
- if (!cpuid)
- return -ENOMEM;
+ cpuid = qemu_malloc(sizeof(*cpuid) + nent * sizeof(*entries));
cpuid->nent = nent;
memcpy(cpuid->entries, entries, nent * sizeof(*entries));
@@ -632,7 +617,7 @@ static struct kvm_cpuid2 *try_get_cpuid(kvm_context_t kvm, int max)
int r, size;
size = sizeof(*cpuid) + max * sizeof(*cpuid->entries);
- cpuid = (struct kvm_cpuid2 *)malloc(size);
+ cpuid = qemu_malloc(size);
cpuid->nent = max;
r = ioctl(kvm->fd, KVM_GET_SUPPORTED_CPUID, cpuid);
if (r == -1)
diff --git a/qemu-kvm.c b/qemu-kvm.c
index ed7e466..cf97ba2 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -447,10 +447,7 @@ kvm_context_t kvm_init(void *opaque)
}
kvm_abi = r;
kvm_page_size = getpagesize();
- kvm = malloc(sizeof(*kvm));
- if (kvm == NULL)
- goto out_close;
- memset(kvm, 0, sizeof(*kvm));
+ kvm = qemu_mallocz(sizeof(*kvm));
kvm->fd = fd;
kvm->vm_fd = -1;
kvm->opaque = opaque;
@@ -464,10 +461,7 @@ kvm_context_t kvm_init(void *opaque)
/* Round up so we can search ints using ffs */
gsi_bits = ALIGN(gsi_count, 32);
- kvm->used_gsi_bitmap = malloc(gsi_bits / 8);
- if (!kvm->used_gsi_bitmap)
- goto out_close;
- memset(kvm->used_gsi_bitmap, 0, gsi_bits / 8);
+ kvm->used_gsi_bitmap = qemu_mallocz(gsi_bits / 8);
kvm->max_gsi = gsi_bits;
/* Mark any over-allocated bits as already in use */
@@ -507,12 +501,7 @@ kvm_vcpu_context_t kvm_create_vcpu(kvm_context_t kvm, int id)
{
long mmap_size;
int r;
- kvm_vcpu_context_t vcpu_ctx = malloc(sizeof(struct kvm_vcpu_context));
-
- if (!vcpu_ctx) {
- errno = ENOMEM;
- return NULL;
- }
+ kvm_vcpu_context_t vcpu_ctx = qemu_malloc(sizeof(struct kvm_vcpu_context));
vcpu_ctx->kvm = kvm;
vcpu_ctx->id = id;
@@ -559,10 +548,7 @@ int kvm_create_vm(kvm_context_t kvm)
int fd = kvm->fd;
#ifdef KVM_CAP_IRQ_ROUTING
- kvm->irq_routes = malloc(sizeof(*kvm->irq_routes));
- if (!kvm->irq_routes)
- return -ENOMEM;
- memset(kvm->irq_routes, 0, sizeof(*kvm->irq_routes));
+ kvm->irq_routes = qemu_mallocz(sizeof(*kvm->irq_routes));
kvm->nr_allocated_irq_routes = 0;
#endif
@@ -1167,9 +1153,7 @@ int kvm_set_signal_mask(kvm_vcpu_context_t vcpu, const sigset_t *sigset)
r = -errno;
return r;
}
- sigmask = malloc(sizeof(*sigmask) + sizeof(*sigset));
- if (!sigmask)
- return -ENOMEM;
+ sigmask = qemu_malloc(sizeof(*sigmask) + sizeof(*sigset));
sigmask->len = 8;
memcpy(sigmask->sigset, sigset, sizeof(*sigset));
--
1.6.2.2
next prev parent reply other threads:[~2009-07-14 15:35 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-14 15:35 [PATCH v3 0/8] Move closer to upstream Glauber Costa
2009-07-14 15:35 ` [PATCH v3 1/8] replace USE_KVM with CONFIG_KVM Glauber Costa
2009-07-14 15:35 ` [PATCH v3 2/8] Do not compile qemu-kvm.c and qemu-kvm-x86.c Glauber Costa
2009-07-14 15:35 ` Glauber Costa [this message]
2009-07-14 15:35 ` [PATCH v3 4/8] fold libkvm-all into standard qemu header Glauber Costa
2009-07-14 15:35 ` [PATCH v3 5/8] duplicate KVMState Glauber Costa
2009-07-14 15:35 ` [PATCH v3 6/8] provide env->kvm_fd Glauber Costa
2009-07-14 15:35 ` [PATCH v3 7/8] use kvm_upstream sw_breakpoints structure Glauber Costa
2009-07-14 15:35 ` [PATCH v3 8/8] reuse upstream breakpoint code Glauber Costa
2009-07-14 20:45 ` Jan Kiszka
2009-07-14 21:01 ` Glauber Costa
2009-07-14 21:31 ` Marcelo Tosatti
2009-07-14 23:20 ` [PATCH v3 0/8] Move closer to upstream Marcelo Tosatti
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1247585718-32738-4-git-send-email-glommer@redhat.com \
--to=glommer@redhat.com \
--cc=avi@redhat.com \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox