qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] migration: Use g_new() & friends where that mak


From: zhanghailiang
Subject: Re: [Qemu-devel] [PATCH] migration: Use g_new() & friends where that makes obvious sense
Date: Tue, 15 Sep 2015 09:10:29 +0800
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0

Reviewed-by: zhanghailiang <address@hidden>

On 2015/9/14 19:51, Markus Armbruster wrote:
g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also safer,
for two reasons.  One, it catches multiplication overflowing size_t.
Two, it returns T * rather than void *, which lets the compiler catch
more type errors.

This commit only touches allocations with size arguments of the form
sizeof(T).  Same Coccinelle semantic patch as in commit b45c03f.

Signed-off-by: Markus Armbruster <address@hidden>
---
  migration/migration.c       |  2 +-
  migration/qemu-file-buf.c   |  2 +-
  migration/qemu-file-stdio.c |  4 ++--
  migration/qemu-file-unix.c  |  4 ++--
  migration/qemu-file.c       |  2 +-
  migration/rdma.c            | 17 ++++++++---------
  migration/savevm.c          | 12 ++++++------
  7 files changed, 21 insertions(+), 22 deletions(-)

diff --git a/migration/migration.c b/migration/migration.c
index 662e77e..e0ce401 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -86,7 +86,7 @@ MigrationIncomingState *migration_incoming_get_current(void)

  MigrationIncomingState *migration_incoming_state_new(QEMUFile* f)
  {
-    mis_current = g_malloc0(sizeof(MigrationIncomingState));
+    mis_current = g_new0(MigrationIncomingState, 1);
      mis_current->file = f;
      QLIST_INIT(&mis_current->loadvm_handlers);

diff --git a/migration/qemu-file-buf.c b/migration/qemu-file-buf.c
index 2de9330..7adec46 100644
--- a/migration/qemu-file-buf.c
+++ b/migration/qemu-file-buf.c
@@ -439,7 +439,7 @@ QEMUFile *qemu_bufopen(const char *mode, QEMUSizedBuffer 
*input)
          return NULL;
      }

-    s = g_malloc0(sizeof(QEMUBuffer));
+    s = g_new0(QEMUBuffer, 1);
      s->qsb = input;

      if (s->qsb == NULL) {
diff --git a/migration/qemu-file-stdio.c b/migration/qemu-file-stdio.c
index 285068b..079caee 100644
--- a/migration/qemu-file-stdio.c
+++ b/migration/qemu-file-stdio.c
@@ -143,7 +143,7 @@ QEMUFile *qemu_popen_cmd(const char *command, const char 
*mode)
          return NULL;
      }

-    s = g_malloc0(sizeof(QEMUFileStdio));
+    s = g_new0(QEMUFileStdio, 1);

      s->stdio_file = stdio_file;

@@ -175,7 +175,7 @@ QEMUFile *qemu_fopen(const char *filename, const char *mode)
          return NULL;
      }

-    s = g_malloc0(sizeof(QEMUFileStdio));
+    s = g_new0(QEMUFileStdio, 1);

      s->stdio_file = fopen(filename, mode);
      if (!s->stdio_file) {
diff --git a/migration/qemu-file-unix.c b/migration/qemu-file-unix.c
index bfbc086..7d80a54 100644
--- a/migration/qemu-file-unix.c
+++ b/migration/qemu-file-unix.c
@@ -192,7 +192,7 @@ QEMUFile *qemu_fdopen(int fd, const char *mode)
          return NULL;
      }

-    s = g_malloc0(sizeof(QEMUFileSocket));
+    s = g_new0(QEMUFileSocket, 1);
      s->fd = fd;

      if (mode[0] == 'r') {
@@ -226,7 +226,7 @@ QEMUFile *qemu_fopen_socket(int fd, const char *mode)
          return NULL;
      }

-    s = g_malloc0(sizeof(QEMUFileSocket));
+    s = g_new0(QEMUFileSocket, 1);
      s->fd = fd;
      if (mode[0] == 'w') {
          qemu_set_block(s->fd);
diff --git a/migration/qemu-file.c b/migration/qemu-file.c
index 6bb3dc1..6162e7e 100644
--- a/migration/qemu-file.c
+++ b/migration/qemu-file.c
@@ -60,7 +60,7 @@ QEMUFile *qemu_fopen_ops(void *opaque, const QEMUFileOps *ops)
  {
      QEMUFile *f;

-    f = g_malloc0(sizeof(QEMUFile));
+    f = g_new0(QEMUFile, 1);

      f->opaque = opaque;
      f->ops = ops;
diff --git a/migration/rdma.c b/migration/rdma.c
index 9424834..8886fa2 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -541,7 +541,7 @@ static int rdma_add_block(RDMAContext *rdma, const char 
*block_name,
      RDMALocalBlock *block;
      RDMALocalBlock *old = local->block;

-    local->block = g_malloc0(sizeof(RDMALocalBlock) * (local->nb_blocks + 1));
+    local->block = g_new0(RDMALocalBlock, local->nb_blocks + 1);

      if (local->nb_blocks) {
          int x;
@@ -572,7 +572,7 @@ static int rdma_add_block(RDMAContext *rdma, const char 
*block_name,
      bitmap_clear(block->transit_bitmap, 0, block->nb_chunks);
      block->unregister_bitmap = bitmap_new(block->nb_chunks);
      bitmap_clear(block->unregister_bitmap, 0, block->nb_chunks);
-    block->remote_keys = g_malloc0(block->nb_chunks * sizeof(uint32_t));
+    block->remote_keys = g_new0(uint32_t, block->nb_chunks);

      block->is_ram_block = local->init ? false : true;

@@ -617,8 +617,8 @@ static int qemu_rdma_init_ram_blocks(RDMAContext *rdma)
      memset(local, 0, sizeof *local);
      qemu_ram_foreach_block(qemu_rdma_init_one_block, rdma);
      trace_qemu_rdma_init_ram_blocks(local->nb_blocks);
-    rdma->dest_blocks = (RDMADestBlock *) g_malloc0(sizeof(RDMADestBlock) *
-                        rdma->local_ram_blocks.nb_blocks);
+    rdma->dest_blocks = g_new0(RDMADestBlock,
+                               rdma->local_ram_blocks.nb_blocks);
      local->init = true;
      return 0;
  }
@@ -677,8 +677,7 @@ static int rdma_delete_block(RDMAContext *rdma, 
RDMALocalBlock *block)

      if (local->nb_blocks > 1) {

-        local->block = g_malloc0(sizeof(RDMALocalBlock) *
-                                    (local->nb_blocks - 1));
+        local->block = g_new0(RDMALocalBlock, local->nb_blocks - 1);

          if (block->index) {
              memcpy(local->block, old, sizeof(RDMALocalBlock) * block->index);
@@ -1164,7 +1163,7 @@ static int qemu_rdma_register_and_get_keys(RDMAContext 
*rdma,

      /* allocate memory to store chunk MRs */
      if (!block->pmr) {
-        block->pmr = g_malloc0(block->nb_chunks * sizeof(struct ibv_mr *));
+        block->pmr = g_new0(struct ibv_mr *, block->nb_chunks);
      }

      /*
@@ -2494,7 +2493,7 @@ static void *qemu_rdma_data_init(const char *host_port, 
Error **errp)
      InetSocketAddress *addr;

      if (host_port) {
-        rdma = g_malloc0(sizeof(RDMAContext));
+        rdma = g_new0(RDMAContext, 1);
          rdma->current_index = -1;
          rdma->current_chunk = -1;

@@ -3399,7 +3398,7 @@ static void *qemu_fopen_rdma(RDMAContext *rdma, const 
char *mode)
          return NULL;
      }

-    r = g_malloc0(sizeof(QEMUFileRDMA));
+    r = g_new0(QEMUFileRDMA, 1);
      r->rdma = rdma;

      if (mode[0] == 'w') {
diff --git a/migration/savevm.c b/migration/savevm.c
index 33e55fe..7914f86 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -480,7 +480,7 @@ int register_savevm_live(DeviceState *dev,
  {
      SaveStateEntry *se;

-    se = g_malloc0(sizeof(SaveStateEntry));
+    se = g_new0(SaveStateEntry, 1);
      se->version_id = version_id;
      se->section_id = savevm_state.global_section_id++;
      se->ops = ops;
@@ -498,7 +498,7 @@ int register_savevm_live(DeviceState *dev,
              pstrcat(se->idstr, sizeof(se->idstr), "/");
              g_free(id);

-            se->compat = g_malloc0(sizeof(CompatEntry));
+            se->compat = g_new0(CompatEntry, 1);
              pstrcpy(se->compat->idstr, sizeof(se->compat->idstr), idstr);
              se->compat->instance_id = instance_id == -1 ?
                           calculate_compat_instance_id(idstr) : instance_id;
@@ -526,7 +526,7 @@ int register_savevm(DeviceState *dev,
                      LoadStateHandler *load_state,
                      void *opaque)
  {
-    SaveVMHandlers *ops = g_malloc0(sizeof(SaveVMHandlers));
+    SaveVMHandlers *ops = g_new0(SaveVMHandlers, 1);
      ops->save_state = save_state;
      ops->load_state = load_state;
      return register_savevm_live(dev, idstr, instance_id, version_id,
@@ -568,7 +568,7 @@ int vmstate_register_with_alias_id(DeviceState *dev, int 
instance_id,
      /* If this triggers, alias support can be dropped for the vmsd. */
      assert(alias_id == -1 || required_for_version >= 
vmsd->minimum_version_id);

-    se = g_malloc0(sizeof(SaveStateEntry));
+    se = g_new0(SaveStateEntry, 1);
      se->version_id = vmsd->version_id;
      se->section_id = savevm_state.global_section_id++;
      se->opaque = opaque;
@@ -582,7 +582,7 @@ int vmstate_register_with_alias_id(DeviceState *dev, int 
instance_id,
              pstrcat(se->idstr, sizeof(se->idstr), "/");
              g_free(id);

-            se->compat = g_malloc0(sizeof(CompatEntry));
+            se->compat = g_new0(CompatEntry, 1);
              pstrcpy(se->compat->idstr, sizeof(se->compat->idstr), vmsd->name);
              se->compat->instance_id = instance_id == -1 ?
                           calculate_compat_instance_id(vmsd->name) : 
instance_id;
@@ -1544,7 +1544,7 @@ void hmp_info_snapshots(Monitor *mon, const QDict *qdict)
          return;
      }

-    available_snapshots = g_malloc0(sizeof(int) * nb_sns);
+    available_snapshots = g_new0(int, nb_sns);
      total = 0;
      for (i = 0; i < nb_sns; i++) {
          sn = &sn_tab[i];






reply via email to

[Prev in Thread] Current Thread [Next in Thread]