All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy
@ 2017-06-22 12:41 Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 01/31] i386: use ROUND_UP macro Marc-André Lureau
                   ` (32 more replies)
  0 siblings, 33 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau

Hi,

Various refactring questions on previously sent series prompted me to
look at coccinelle to automate some changes again. Alas, semantic
patches are not so easy to express for me, cocci doesn't catch all
cases, is quite slow, and it doesn't seem possible to evaluate
expressions to check if E == E-1 or if E is pow2 for example.

I started looking at clang-tidy
(http://clang.llvm.org/extra/clang-tidy/) as an alternative to do some
refactoring.

Our build-system doesn't generate compile_commands.json, which is
pretty much required to use clang refactoring tools. But it is as easy
as running "bear make" to make one, using https://github.com/rizsotto/Bear.

Then, you can run checks and automate fixes (here only "qemu-round")
over the code base with:
run-clang-tidy.py -header-filter='.*' -checks='-*,qemu-round' -fix

There are some path bugs that can easily be solved, see
https://bugs.llvm.org/show_bug.cgi?id=33440 for details.

I ran 'qemu-round' check in this series, and added a few other manual
refactoring I had pending. (I'll submit other series for the rest of
the checks later)

My WIP qemu checks are here:
https://github.com/elmarco/clang-tools-extra/tree/master/clang-tidy/qemu

The "round-check" is:
https://github.com/elmarco/clang-tools-extra/blob/master/clang-tidy/qemu/RoundCheck.cpp

I don't know if you can express a semantic patch that would be as
powerful. The code remains easy to write & read imho, and quite fast
to apply. I like the tool, it's probably a good complement to
coccinelle overall.

Thanks

Marc-André Lureau (31):
  i386: use ROUND_UP macro
  vnc: use QEMU_ALIGN_DOWN
  vhdx: use QEMU_ALIGN_DOWN
  vhost: use QEMU_ALIGN_DOWN
  i8254: use QEMU_ALIGN_DOWN
  pcspk: use QEMU_ALIGN_DOWN
  dmg: use DIV_ROUND_UP
  qcow2: use DIV_ROUND_UP
  vpc: use DIV_ROUND_UP
  vvfat: use DIV_ROUND_UP
  vnc: use DIV_ROUND_UP
  slirp: use DIV_ROUND_UP
  ui: use DIV_ROUND_UP
  vga: use DIV_ROUND_UP
  virtio-gpu: use DIV_ROUND_UP
  monitor: use DIV_ROUND_UP
  console: use DIV_ROUND_UP
  virtio-serial: use DIV_ROUND_UP
  piix: use DIV_ROUND_UP
  q35: use DIV_ROUND_UP
  usb-hub: use DIV_ROUND_UP
  msix: use DIV_ROUND_UP
  ppc: use DIV_ROUND_UP
  i386/dump: use DIV_ROUND_UP
  kvm: use DIV_ROUND_UP
  decnumber: use DIV_ROUND_UP
  i386: introduce ELF_NOTE_SIZE macro
  9pfs: replace g_malloc()+memcpy() with g_memdup()
  i386: replace g_malloc()+memcpy() with g_memdup()
  test-iov: replace g_malloc()+memcpy() with g_memdup()
  eepro100: replace g_malloc()+memcpy() with g_memdup()

 include/ui/console.h        |  2 +-
 linux-headers/asm-x86/kvm.h |  2 +-
 slirp/ip6.h                 |  6 +++---
 block/dmg.c                 |  2 +-
 block/qcow2-cluster.c       |  2 +-
 block/qcow2-refcount.c      |  2 +-
 block/vhdx-log.c            |  2 +-
 block/vpc.c                 |  4 ++--
 block/vvfat.c               |  4 ++--
 hw/9pfs/9p-synth.c          |  3 +--
 hw/audio/pcspk.c            |  2 +-
 hw/char/virtio-serial-bus.c |  8 ++++----
 hw/display/vga.c            |  2 +-
 hw/display/virtio-gpu.c     |  4 ++--
 hw/i386/multiboot.c         |  3 +--
 hw/net/eepro100.c           |  3 +--
 hw/pci-host/piix.c          |  2 +-
 hw/pci-host/q35.c           |  2 +-
 hw/pci/msix.c               |  4 ++--
 hw/timer/i8254_common.c     |  4 ++--
 hw/usb/dev-hub.c            |  8 ++++----
 hw/virtio/vhost.c           |  2 +-
 libdecnumber/decNumber.c    |  2 +-
 monitor.c                   |  4 ++--
 target/i386/arch_dump.c     | 40 ++++++++++++++++++++--------------------
 target/ppc/mem_helper.c     |  2 +-
 target/ppc/translate.c      |  2 +-
 tests/test-iov.c            |  3 +--
 ui/cursor.c                 |  2 +-
 ui/vnc-enc-tight.c          |  2 +-
 ui/vnc.c                    | 10 +++++-----
 31 files changed, 68 insertions(+), 72 deletions(-)

-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 01/31] i386: use ROUND_UP macro
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 02/31] vnc: use QEMU_ALIGN_DOWN Marc-André Lureau
                   ` (31 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Paolo Bonzini, Richard Henderson,
	Eduardo Habkost

I used the clang-tidy qemu-round check (with the option OnlyAlignUp)
to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
---
 target/i386/arch_dump.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/target/i386/arch_dump.c b/target/i386/arch_dump.c
index fe0aa36932..1d51bb5206 100644
--- a/target/i386/arch_dump.c
+++ b/target/i386/arch_dump.c
@@ -84,9 +84,9 @@ static int x86_64_write_elf64_note(WriteCoreDumpFunction f,
     note->n_descsz = cpu_to_le32(descsz);
     note->n_type = cpu_to_le32(NT_PRSTATUS);
     buf = (char *)note;
-    buf += ((sizeof(Elf64_Nhdr) + 3) / 4) * 4;
+    buf += ROUND_UP(sizeof(Elf64_Nhdr), 4);
     memcpy(buf, name, name_size);
-    buf += ((name_size + 3) / 4) * 4;
+    buf += ROUND_UP(name_size, 4);
     memcpy(buf + 32, &id, 4); /* pr_pid */
     buf += descsz - sizeof(x86_64_user_regs_struct)-sizeof(target_ulong);
     memcpy(buf, &regs, sizeof(x86_64_user_regs_struct));
@@ -163,9 +163,9 @@ static int x86_write_elf64_note(WriteCoreDumpFunction f, CPUX86State *env,
     note->n_descsz = cpu_to_le32(descsz);
     note->n_type = cpu_to_le32(NT_PRSTATUS);
     buf = (char *)note;
-    buf += ((sizeof(Elf64_Nhdr) + 3) / 4) * 4;
+    buf += ROUND_UP(sizeof(Elf64_Nhdr), 4);
     memcpy(buf, name, name_size);
-    buf += ((name_size + 3) / 4) * 4;
+    buf += ROUND_UP(name_size, 4);
     memcpy(buf, &prstatus, sizeof(prstatus));
 
     ret = f(note, note_size, opaque);
@@ -218,9 +218,9 @@ int x86_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
     note->n_descsz = cpu_to_le32(descsz);
     note->n_type = cpu_to_le32(NT_PRSTATUS);
     buf = (char *)note;
-    buf += ((sizeof(Elf32_Nhdr) + 3) / 4) * 4;
+    buf += ROUND_UP(sizeof(Elf32_Nhdr), 4);
     memcpy(buf, name, name_size);
-    buf += ((name_size + 3) / 4) * 4;
+    buf += ROUND_UP(name_size, 4);
     memcpy(buf, &prstatus, sizeof(prstatus));
 
     ret = f(note, note_size, opaque);
@@ -353,9 +353,9 @@ static inline int cpu_write_qemu_note(WriteCoreDumpFunction f,
         note64->n_type = 0;
     }
     buf = note;
-    buf += ((note_head_size + 3) / 4) * 4;
+    buf += ROUND_UP(note_head_size, 4);
     memcpy(buf, name, name_size);
-    buf += ((name_size + 3) / 4) * 4;
+    buf += ROUND_UP(name_size, 4);
     memcpy(buf, &state, sizeof(state));
 
     ret = f(note, note_size, opaque);
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 02/31] vnc: use QEMU_ALIGN_DOWN
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 01/31] i386: use ROUND_UP macro Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 03/31] vhdx: " Marc-André Lureau
                   ` (30 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Gerd Hoffmann

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 ui/vnc.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/ui/vnc.c b/ui/vnc.c
index 47b49c7318..5b77f70a45 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -2625,8 +2625,8 @@ static int vnc_refresh_lossy_rect(VncDisplay *vd, int x, int y)
     int stx = x / VNC_STAT_RECT;
     int has_dirty = 0;
 
-    y = y / VNC_STAT_RECT * VNC_STAT_RECT;
-    x = x / VNC_STAT_RECT * VNC_STAT_RECT;
+    y = QEMU_ALIGN_DOWN(y, VNC_STAT_RECT);
+    x = QEMU_ALIGN_DOWN(x, VNC_STAT_RECT);
 
     QTAILQ_FOREACH(vs, &vd->clients, next) {
         int j;
@@ -2715,8 +2715,8 @@ double vnc_update_freq(VncState *vs, int x, int y, int w, int h)
     double total = 0;
     int num = 0;
 
-    x =  (x / VNC_STAT_RECT) * VNC_STAT_RECT;
-    y =  (y / VNC_STAT_RECT) * VNC_STAT_RECT;
+    x =  QEMU_ALIGN_DOWN(x, VNC_STAT_RECT);
+    y =  QEMU_ALIGN_DOWN(y, VNC_STAT_RECT);
 
     for (j = y; j <= y + h; j += VNC_STAT_RECT) {
         for (i = x; i <= x + w; i += VNC_STAT_RECT) {
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 03/31] vhdx: use QEMU_ALIGN_DOWN
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 01/31] i386: use ROUND_UP macro Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 02/31] vnc: use QEMU_ALIGN_DOWN Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 04/31] vhost: " Marc-André Lureau
                   ` (29 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Jeff Cody, Kevin Wolf, Max Reitz, open list:VHDX

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 block/vhdx-log.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/vhdx-log.c b/block/vhdx-log.c
index 3f4c2aa095..6125ea4c6d 100644
--- a/block/vhdx-log.c
+++ b/block/vhdx-log.c
@@ -884,7 +884,7 @@ static int vhdx_log_write(BlockDriverState *bs, BDRVVHDXState *s,
     }
 
     sector_offset = offset % VHDX_LOG_SECTOR_SIZE;
-    file_offset = (offset / VHDX_LOG_SECTOR_SIZE) * VHDX_LOG_SECTOR_SIZE;
+    file_offset = QEMU_ALIGN_DOWN(offset, VHDX_LOG_SECTOR_SIZE);
 
     aligned_length = length;
 
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 04/31] vhost: use QEMU_ALIGN_DOWN
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (2 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 03/31] vhdx: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 18:49   ` Michael S. Tsirkin
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 05/31] i8254: " Marc-André Lureau
                   ` (28 subsequent siblings)
  32 siblings, 1 reply; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Michael S. Tsirkin

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/virtio/vhost.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index 6eddb099b0..0049a2c0b3 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -70,7 +70,7 @@ static void vhost_dev_sync_region(struct vhost_dev *dev,
     uint64_t end = MIN(mlast, rlast);
     vhost_log_chunk_t *from = log + start / VHOST_LOG_CHUNK;
     vhost_log_chunk_t *to = log + end / VHOST_LOG_CHUNK + 1;
-    uint64_t addr = (start / VHOST_LOG_CHUNK) * VHOST_LOG_CHUNK;
+    uint64_t addr = QEMU_ALIGN_DOWN(start, VHOST_LOG_CHUNK);
 
     if (end < start) {
         return;
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 05/31] i8254: use QEMU_ALIGN_DOWN
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (3 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 04/31] vhost: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 06/31] pcspk: " Marc-André Lureau
                   ` (27 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Michael S. Tsirkin, Paolo Bonzini

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/timer/i8254_common.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/timer/i8254_common.c b/hw/timer/i8254_common.c
index 976d5200f1..ee064aa819 100644
--- a/hw/timer/i8254_common.c
+++ b/hw/timer/i8254_common.c
@@ -93,7 +93,7 @@ int64_t pit_get_next_transition_time(PITChannelState *s, int64_t current_time)
         }
         break;
     case 2:
-        base = (d / s->count) * s->count;
+        base = QEMU_ALIGN_DOWN(d, s->count);
         if ((d - base) == 0 && d != 0) {
             next_time = base + s->count;
         } else {
@@ -101,7 +101,7 @@ int64_t pit_get_next_transition_time(PITChannelState *s, int64_t current_time)
         }
         break;
     case 3:
-        base = (d / s->count) * s->count;
+        base = QEMU_ALIGN_DOWN(d, s->count);
         period2 = ((s->count + 1) >> 1);
         if ((d - base) < period2) {
             next_time = base + period2;
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 06/31] pcspk: use QEMU_ALIGN_DOWN
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (4 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 05/31] i8254: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 07/31] dmg: use DIV_ROUND_UP Marc-André Lureau
                   ` (26 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Gerd Hoffmann

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/audio/pcspk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c
index f643b122bb..0206f7399b 100644
--- a/hw/audio/pcspk.c
+++ b/hw/audio/pcspk.c
@@ -69,7 +69,7 @@ static inline void generate_samples(PCSpkState *s)
         const uint32_t n = ((uint64_t)PIT_FREQ << 32) / m;
 
         /* multiple of wavelength for gapless looping */
-        s->samples = (PCSPK_BUF_LEN * PIT_FREQ / m * m / (PIT_FREQ >> 1) + 1) >> 1;
+        s->samples = (QEMU_ALIGN_DOWN(PCSPK_BUF_LEN * PIT_FREQ, m) / (PIT_FREQ >> 1) + 1) >> 1;
         for (i = 0; i < s->samples; ++i)
             s->sample_buf[i] = (64 & (n * i >> 25)) - 32;
     } else {
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 07/31] dmg: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (5 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 06/31] pcspk: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-23  9:56   ` Stefan Hajnoczi
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 08/31] qcow2: " Marc-André Lureau
                   ` (25 subsequent siblings)
  32 siblings, 1 reply; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Stefan Hajnoczi, Kevin Wolf, Max Reitz,
	open list:dmg

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 block/dmg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/dmg.c b/block/dmg.c
index 900ae5a678..6c0711f563 100644
--- a/block/dmg.c
+++ b/block/dmg.c
@@ -111,7 +111,7 @@ static void update_max_chunk_size(BDRVDMGState *s, uint32_t chunk,
         uncompressed_sectors = s->sectorcounts[chunk];
         break;
     case 1: /* copy */
-        uncompressed_sectors = (s->lengths[chunk] + 511) / 512;
+        uncompressed_sectors = DIV_ROUND_UP(s->lengths[chunk], 512);
         break;
     case 2: /* zero */
         /* as the all-zeroes block may be large, it is treated specially: the
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 08/31] qcow2: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (6 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 07/31] dmg: use DIV_ROUND_UP Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 09/31] vpc: " Marc-André Lureau
                   ` (24 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Kevin Wolf, Max Reitz, open list:qcow2

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 block/qcow2-cluster.c  | 2 +-
 block/qcow2-refcount.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c
index d779ea19cf..da9008815c 100644
--- a/block/qcow2-cluster.c
+++ b/block/qcow2-cluster.c
@@ -61,7 +61,7 @@ int qcow2_grow_l1_table(BlockDriverState *bs, uint64_t min_size,
             new_l1_size = 1;
         }
         while (min_size > new_l1_size) {
-            new_l1_size = (new_l1_size * 3 + 1) / 2;
+            new_l1_size = DIV_ROUND_UP(new_l1_size * 3, 2);
         }
     }
 
diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c
index 7c06061aae..75107cf093 100644
--- a/block/qcow2-refcount.c
+++ b/block/qcow2-refcount.c
@@ -293,7 +293,7 @@ static unsigned int next_refcount_table_size(BDRVQcow2State *s,
         MAX(1, s->refcount_table_size >> (s->cluster_bits - 3));
 
     while (min_clusters > refcount_table_clusters) {
-        refcount_table_clusters = (refcount_table_clusters * 3 + 1) / 2;
+        refcount_table_clusters = DIV_ROUND_UP(refcount_table_clusters * 3, 2);
     }
 
     return refcount_table_clusters << (s->cluster_bits - 3);
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 09/31] vpc: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (7 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 08/31] qcow2: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 10/31] vvfat: " Marc-André Lureau
                   ` (23 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Kevin Wolf, Max Reitz, open list:vpc

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 block/vpc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/vpc.c b/block/vpc.c
index 4240ba9d1c..f52a7c0f0f 100644
--- a/block/vpc.c
+++ b/block/vpc.c
@@ -760,7 +760,7 @@ static int calculate_geometry(int64_t total_sectors, uint16_t* cyls,
     } else {
         *secs_per_cyl = 17;
         cyls_times_heads = total_sectors / *secs_per_cyl;
-        *heads = (cyls_times_heads + 1023) / 1024;
+        *heads = DIV_ROUND_UP(cyls_times_heads, 1024);
 
         if (*heads < 4) {
             *heads = 4;
@@ -813,7 +813,7 @@ static int create_dynamic_disk(BlockBackend *blk, uint8_t *buf,
     offset = 3 * 512;
 
     memset(buf, 0xFF, 512);
-    for (i = 0; i < (num_bat_entries * 4 + 511) / 512; i++) {
+    for (i = 0; i < DIV_ROUND_UP(num_bat_entries * 4, 512); i++) {
         ret = blk_pwrite(blk, offset, buf, 512, 0);
         if (ret < 0) {
             goto fail;
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 10/31] vvfat: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (8 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 09/31] vpc: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-07-03 11:38   ` [Qemu-devel] [Qemu-block] " Eric Blake
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 11/31] vnc: " Marc-André Lureau
                   ` (22 subsequent siblings)
  32 siblings, 1 reply; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Kevin Wolf, Max Reitz, open list:vvfat

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 block/vvfat.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/vvfat.c b/block/vvfat.c
index 426ca70e35..877f71dcdc 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -433,7 +433,7 @@ static inline direntry_t* create_long_filename(BDRVVVFATState* s,const char* fil
 {
     char buffer[258];
     int length=short2long_name(buffer,filename),
-        number_of_entries=(length+25)/26,i;
+        number_of_entries=DIV_ROUND_UP(length, 26),i;
     direntry_t* entry;
 
     for(i=0;i<number_of_entries;i++) {
@@ -2424,7 +2424,7 @@ static int commit_one_file(BDRVVVFATState* s,
 		(size > offset && c >=2 && !fat_eof(s, c)));
 
 	ret = vvfat_read(s->bs, cluster2sector(s, c),
-	    (uint8_t*)cluster, (rest_size + 0x1ff) / 0x200);
+	    (uint8_t*)cluster, DIV_ROUND_UP(rest_size, 0x200));
 
         if (ret < 0) {
             qemu_close(fd);
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 11/31] vnc: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (9 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 10/31] vvfat: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 12/31] slirp: " Marc-André Lureau
                   ` (21 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Gerd Hoffmann

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 ui/vnc-enc-tight.c | 2 +-
 ui/vnc.c           | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ui/vnc-enc-tight.c b/ui/vnc-enc-tight.c
index 1e53b1cf84..15a49ee53d 100644
--- a/ui/vnc-enc-tight.c
+++ b/ui/vnc-enc-tight.c
@@ -980,7 +980,7 @@ static int send_mono_rect(VncState *vs, int x, int y,
     }
 #endif
 
-    bytes = ((w + 7) / 8) * h;
+    bytes = (DIV_ROUND_UP(w, 8)) * h;
 
     vnc_write_u8(vs, (stream | VNC_TIGHT_EXPLICIT_FILTER) << 4);
     vnc_write_u8(vs, VNC_TIGHT_FILTER_PALETTE);
diff --git a/ui/vnc.c b/ui/vnc.c
index 5b77f70a45..4315807469 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -2782,7 +2782,7 @@ static int vnc_refresh_server_surface(VncDisplay *vd)
             PIXMAN_FORMAT_BPP(pixman_image_get_format(vd->guest.fb));
         guest_row0 = (uint8_t *)pixman_image_get_data(vd->guest.fb);
         guest_stride = pixman_image_get_stride(vd->guest.fb);
-        guest_ll = pixman_image_get_width(vd->guest.fb) * ((guest_bpp + 7) / 8);
+        guest_ll = pixman_image_get_width(vd->guest.fb) * (DIV_ROUND_UP(guest_bpp, 8));
     }
     line_bytes = MIN(server_stride, guest_ll);
 
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 12/31] slirp: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (10 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 11/31] vnc: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-23  0:19   ` Samuel Thibault
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 13/31] ui: " Marc-André Lureau
                   ` (20 subsequent siblings)
  32 siblings, 1 reply; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Samuel Thibault, Jan Kiszka

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 slirp/ip6.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/slirp/ip6.h b/slirp/ip6.h
index 0908855f0f..b1bea43b3c 100644
--- a/slirp/ip6.h
+++ b/slirp/ip6.h
@@ -57,9 +57,9 @@ static inline bool in6_equal_mach(const struct in6_addr *a,
                                   const struct in6_addr *b,
                                   int prefix_len)
 {
-    if (memcmp(&(a->s6_addr[(prefix_len + 7) / 8]),
-               &(b->s6_addr[(prefix_len + 7) / 8]),
-               16 - (prefix_len + 7) / 8) != 0) {
+    if (memcmp(&(a->s6_addr[DIV_ROUND_UP(prefix_len, 8)]),
+               &(b->s6_addr[DIV_ROUND_UP(prefix_len, 8)]),
+               16 - DIV_ROUND_UP(prefix_len, 8)) != 0) {
         return 0;
     }
 
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 13/31] ui: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (11 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 12/31] slirp: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 14/31] vga: " Marc-André Lureau
                   ` (19 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Gerd Hoffmann

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 ui/cursor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ui/cursor.c b/ui/cursor.c
index 5155b392e8..2e2fe13fa6 100644
--- a/ui/cursor.c
+++ b/ui/cursor.c
@@ -118,7 +118,7 @@ void cursor_put(QEMUCursor *c)
 
 int cursor_get_mono_bpl(QEMUCursor *c)
 {
-    return (c->width + 7) / 8;
+    return DIV_ROUND_UP(c->width, 8);
 }
 
 void cursor_set_mono(QEMUCursor *c,
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 14/31] vga: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (12 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 13/31] ui: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 15/31] virtio-gpu: " Marc-André Lureau
                   ` (18 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/display/vga.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/display/vga.c b/hw/display/vga.c
index dcc95f88e2..c2d3e8f54b 100644
--- a/hw/display/vga.c
+++ b/hw/display/vga.c
@@ -1621,7 +1621,7 @@ static void vga_draw_graphic(VGACommonState *s, int full_update)
            s->line_compare, sr(s, VGA_SEQ_CLOCK_MODE));
 #endif
     addr1 = (s->start_addr * 4);
-    bwidth = (width * bits + 7) / 8;
+    bwidth = DIV_ROUND_UP(width * bits, 8);
     y_start = -1;
     d = surface_data(surface);
     linesize = surface_stride(surface);
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 15/31] virtio-gpu: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (13 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 14/31] vga: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 16/31] monitor: " Marc-André Lureau
                   ` (17 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Michael S. Tsirkin

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/display/virtio-gpu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 58dc0b2737..641f57e7c5 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -408,7 +408,7 @@ static void virtio_gpu_transfer_to_host_2d(VirtIOGPU *g,
     }
 
     format = pixman_image_get_format(res->image);
-    bpp = (PIXMAN_FORMAT_BPP(format) + 7) / 8;
+    bpp = DIV_ROUND_UP(PIXMAN_FORMAT_BPP(format), 8);
     stride = pixman_image_get_stride(res->image);
 
     if (t2d.offset || t2d.r.x || t2d.r.y ||
@@ -570,7 +570,7 @@ static void virtio_gpu_set_scanout(VirtIOGPU *g,
     scanout = &g->scanout[ss.scanout_id];
 
     format = pixman_image_get_format(res->image);
-    bpp = (PIXMAN_FORMAT_BPP(format) + 7) / 8;
+    bpp = DIV_ROUND_UP(PIXMAN_FORMAT_BPP(format), 8);
     offset = (ss.r.x * bpp) + ss.r.y * pixman_image_get_stride(res->image);
     if (!scanout->ds || surface_data(scanout->ds)
         != ((uint8_t *)pixman_image_get_data(res->image) + offset) ||
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 16/31] monitor: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (14 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 15/31] virtio-gpu: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 17/31] console: " Marc-André Lureau
                   ` (16 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Dr. David Alan Gilbert, Markus Armbruster

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 monitor.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/monitor.c b/monitor.c
index fcf4fad47b..c302ea7fba 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1335,7 +1335,7 @@ static void memory_dump(Monitor *mon, int count, int format, int wsize,
 
     switch(format) {
     case 'o':
-        max_digits = (wsize * 8 + 2) / 3;
+        max_digits = DIV_ROUND_UP(wsize * 8, 3);
         break;
     default:
     case 'x':
@@ -1343,7 +1343,7 @@ static void memory_dump(Monitor *mon, int count, int format, int wsize,
         break;
     case 'u':
     case 'd':
-        max_digits = (wsize * 8 * 10 + 32) / 33;
+        max_digits = DIV_ROUND_UP(wsize * 8 * 10, 33);
         break;
     case 'c':
         wsize = 1;
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 17/31] console: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (15 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 16/31] monitor: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 18/31] virtio-serial: " Marc-André Lureau
                   ` (15 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Gerd Hoffmann

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 include/ui/console.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/ui/console.h b/include/ui/console.h
index 7262bef6d3..8024878bae 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -328,7 +328,7 @@ static inline int surface_bits_per_pixel(DisplaySurface *s)
 static inline int surface_bytes_per_pixel(DisplaySurface *s)
 {
     int bits = PIXMAN_FORMAT_BPP(s->format);
-    return (bits + 7) / 8;
+    return DIV_ROUND_UP(bits, 8);
 }
 
 static inline pixman_format_code_t surface_format(DisplaySurface *s)
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 18/31] virtio-serial: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (16 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 17/31] console: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 19/31] piix: " Marc-André Lureau
                   ` (14 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Michael S. Tsirkin, Amit Shah, Paolo Bonzini

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/char/virtio-serial-bus.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c
index f5bc173844..17a1bb008a 100644
--- a/hw/char/virtio-serial-bus.c
+++ b/hw/char/virtio-serial-bus.c
@@ -663,7 +663,7 @@ static void virtio_serial_save_device(VirtIODevice *vdev, QEMUFile *f)
 
     /* The ports map */
     max_nr_ports = s->serial.max_virtserial_ports;
-    for (i = 0; i < (max_nr_ports + 31) / 32; i++) {
+    for (i = 0; i < DIV_ROUND_UP(max_nr_ports, 32); i++) {
         qemu_put_be32s(f, &s->ports_map[i]);
     }
 
@@ -798,7 +798,7 @@ static int virtio_serial_load_device(VirtIODevice *vdev, QEMUFile *f,
     qemu_get_be32s(f, &tmp);
 
     max_nr_ports = s->serial.max_virtserial_ports;
-    for (i = 0; i < (max_nr_ports + 31) / 32; i++) {
+    for (i = 0; i < DIV_ROUND_UP(max_nr_ports, 32); i++) {
         qemu_get_be32s(f, &ports_map);
 
         if (ports_map != s->ports_map[i]) {
@@ -863,7 +863,7 @@ static uint32_t find_free_port_id(VirtIOSerial *vser)
     unsigned int i, max_nr_ports;
 
     max_nr_ports = vser->serial.max_virtserial_ports;
-    for (i = 0; i < (max_nr_ports + 31) / 32; i++) {
+    for (i = 0; i < DIV_ROUND_UP(max_nr_ports, 32); i++) {
         uint32_t map, zeroes;
 
         map = vser->ports_map[i];
@@ -1075,7 +1075,7 @@ static void virtio_serial_device_realize(DeviceState *dev, Error **errp)
         vser->ovqs[i] = virtio_add_queue(vdev, 128, handle_output);
     }
 
-    vser->ports_map = g_malloc0(((vser->serial.max_virtserial_ports + 31) / 32)
+    vser->ports_map = g_malloc0((DIV_ROUND_UP(vser->serial.max_virtserial_ports, 32))
         * sizeof(vser->ports_map[0]));
     /*
      * Reserve location 0 for a console port for backward compat
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 19/31] piix: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (17 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 18/31] virtio-serial: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 20/31] q35: " Marc-André Lureau
                   ` (13 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Michael S. Tsirkin

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/pci-host/piix.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index 4ce201ea65..4f7bb8168b 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -140,7 +140,7 @@ static void i440fx_update_memory_mappings(PCII440FXState *d)
     memory_region_transaction_begin();
     for (i = 0; i < 13; i++) {
         pam_update(&d->pam_regions[i], i,
-                   pd->config[I440FX_PAM + ((i + 1) / 2)]);
+                   pd->config[I440FX_PAM + (DIV_ROUND_UP(i, 2))]);
     }
     memory_region_set_enabled(&d->smram_region,
                               !(pd->config[I440FX_SMRAM] & SMRAM_D_OPEN));
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 20/31] q35: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (18 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 19/31] piix: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 21/31] usb-hub: " Marc-André Lureau
                   ` (12 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Michael S. Tsirkin

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/pci-host/q35.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c
index 28cb97b60f..0c50c4930f 100644
--- a/hw/pci-host/q35.c
+++ b/hw/pci-host/q35.c
@@ -316,7 +316,7 @@ static void mch_update_pam(MCHPCIState *mch)
     memory_region_transaction_begin();
     for (i = 0; i < 13; i++) {
         pam_update(&mch->pam_regions[i], i,
-                   pd->config[MCH_HOST_BRIDGE_PAM0 + ((i + 1) / 2)]);
+                   pd->config[MCH_HOST_BRIDGE_PAM0 + (DIV_ROUND_UP(i, 2))]);
     }
     memory_region_transaction_commit();
 }
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 21/31] usb-hub: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (19 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 20/31] q35: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 22/31] msix: " Marc-André Lureau
                   ` (11 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Gerd Hoffmann

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/usb/dev-hub.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/hw/usb/dev-hub.c b/hw/usb/dev-hub.c
index e82a6a6c44..752e30c305 100644
--- a/hw/usb/dev-hub.c
+++ b/hw/usb/dev-hub.c
@@ -109,7 +109,7 @@ static const USBDescIface desc_iface_hub = {
         {
             .bEndpointAddress      = USB_DIR_IN | 0x01,
             .bmAttributes          = USB_ENDPOINT_XFER_INT,
-            .wMaxPacketSize        = 1 + (NUM_PORTS + 7) / 8,
+            .wMaxPacketSize        = 1 + DIV_ROUND_UP(NUM_PORTS, 8),
             .bInterval             = 0xff,
         },
     }
@@ -442,14 +442,14 @@ static void usb_hub_handle_control(USBDevice *dev, USBPacket *p,
             data[2] = NUM_PORTS;
 
             /* fill DeviceRemovable bits */
-            limit = ((NUM_PORTS + 1 + 7) / 8) + 7;
+            limit = DIV_ROUND_UP(NUM_PORTS + 1, 8) + 7;
             for (n = 7; n < limit; n++) {
                 data[n] = 0x00;
                 var_hub_size++;
             }
 
             /* fill PortPwrCtrlMask bits */
-            limit = limit + ((NUM_PORTS + 7) / 8);
+            limit = limit + DIV_ROUND_UP(NUM_PORTS, 8);
             for (;n < limit; n++) {
                 data[n] = 0xff;
                 var_hub_size++;
@@ -477,7 +477,7 @@ static void usb_hub_handle_data(USBDevice *dev, USBPacket *p)
             unsigned int status;
             uint8_t buf[4];
             int i, n;
-            n = (NUM_PORTS + 1 + 7) / 8;
+            n = DIV_ROUND_UP(NUM_PORTS + 1, 8);
             if (p->iov.size == 1) { /* FreeBSD workaround */
                 n = 1;
             } else if (n > p->iov.size) {
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 22/31] msix: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (20 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 21/31] usb-hub: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 23/31] ppc: " Marc-André Lureau
                   ` (10 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Michael S. Tsirkin, Marcel Apfelbaum

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/pci/msix.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/pci/msix.c b/hw/pci/msix.c
index fc5fe511b3..9ac7341d71 100644
--- a/hw/pci/msix.c
+++ b/hw/pci/msix.c
@@ -438,7 +438,7 @@ void msix_save(PCIDevice *dev, QEMUFile *f)
     }
 
     qemu_put_buffer(f, dev->msix_table, n * PCI_MSIX_ENTRY_SIZE);
-    qemu_put_buffer(f, dev->msix_pba, (n + 7) / 8);
+    qemu_put_buffer(f, dev->msix_pba, DIV_ROUND_UP(n, 8));
 }
 
 /* Should be called after restoring the config space. */
@@ -453,7 +453,7 @@ void msix_load(PCIDevice *dev, QEMUFile *f)
 
     msix_clear_all_vectors(dev);
     qemu_get_buffer(f, dev->msix_table, n * PCI_MSIX_ENTRY_SIZE);
-    qemu_get_buffer(f, dev->msix_pba, (n + 7) / 8);
+    qemu_get_buffer(f, dev->msix_pba, DIV_ROUND_UP(n, 8));
     msix_update_function_masked(dev);
 
     for (vector = 0; vector < n; vector++) {
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 23/31] ppc: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (21 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 22/31] msix: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-07-02  3:04   ` David Gibson
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 24/31] i386/dump: " Marc-André Lureau
                   ` (9 subsequent siblings)
  32 siblings, 1 reply; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, David Gibson, Alexander Graf, open list:PowerPC

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 target/ppc/mem_helper.c | 2 +-
 target/ppc/translate.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/ppc/mem_helper.c b/target/ppc/mem_helper.c
index e6383c6bfa..a34e604db3 100644
--- a/target/ppc/mem_helper.c
+++ b/target/ppc/mem_helper.c
@@ -111,7 +111,7 @@ void helper_lswx(CPUPPCState *env, target_ulong addr, uint32_t reg,
                  uint32_t ra, uint32_t rb)
 {
     if (likely(xer_bc != 0)) {
-        int num_used_regs = (xer_bc + 3) / 4;
+        int num_used_regs = DIV_ROUND_UP(xer_bc, 4);
         if (unlikely((ra != 0 && lsw_reg_in_range(reg, num_used_regs, ra)) ||
                      lsw_reg_in_range(reg, num_used_regs, rb))) {
             raise_exception_err_ra(env, POWERPC_EXCP_PROGRAM,
diff --git a/target/ppc/translate.c b/target/ppc/translate.c
index c0cd64d927..76f9ccde25 100644
--- a/target/ppc/translate.c
+++ b/target/ppc/translate.c
@@ -2882,7 +2882,7 @@ static void gen_lswi(DisasContext *ctx)
     }
     if (nb == 0)
         nb = 32;
-    nr = (nb + 3) / 4;
+    nr = DIV_ROUND_UP(nb, 4);
     if (unlikely(lsw_reg_in_range(start, nr, ra))) {
         gen_inval_exception(ctx, POWERPC_EXCP_INVAL_LSWX);
         return;
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 24/31] i386/dump: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (22 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 23/31] ppc: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 25/31] kvm: " Marc-André Lureau
                   ` (8 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Paolo Bonzini, Richard Henderson,
	Eduardo Habkost

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 target/i386/arch_dump.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/target/i386/arch_dump.c b/target/i386/arch_dump.c
index 1d51bb5206..e081f677fa 100644
--- a/target/i386/arch_dump.c
+++ b/target/i386/arch_dump.c
@@ -77,8 +77,8 @@ static int x86_64_write_elf64_note(WriteCoreDumpFunction f,
     regs.gs = env->segs[R_GS].selector;
 
     descsz = sizeof(x86_64_elf_prstatus);
-    note_size = ((sizeof(Elf64_Nhdr) + 3) / 4 + (name_size + 3) / 4 +
-                (descsz + 3) / 4) * 4;
+    note_size = (DIV_ROUND_UP(sizeof(Elf64_Nhdr), 4) + DIV_ROUND_UP(name_size, 4) +
+                DIV_ROUND_UP(descsz, 4)) * 4;
     note = g_malloc0(note_size);
     note->n_namesz = cpu_to_le32(name_size);
     note->n_descsz = cpu_to_le32(descsz);
@@ -156,8 +156,8 @@ static int x86_write_elf64_note(WriteCoreDumpFunction f, CPUX86State *env,
 
     x86_fill_elf_prstatus(&prstatus, env, id);
     descsz = sizeof(x86_elf_prstatus);
-    note_size = ((sizeof(Elf64_Nhdr) + 3) / 4 + (name_size + 3) / 4 +
-                (descsz + 3) / 4) * 4;
+    note_size = (DIV_ROUND_UP(sizeof(Elf64_Nhdr), 4) + DIV_ROUND_UP(name_size, 4) +
+                DIV_ROUND_UP(descsz, 4)) * 4;
     note = g_malloc0(note_size);
     note->n_namesz = cpu_to_le32(name_size);
     note->n_descsz = cpu_to_le32(descsz);
@@ -211,8 +211,8 @@ int x86_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
 
     x86_fill_elf_prstatus(&prstatus, &cpu->env, cpuid);
     descsz = sizeof(x86_elf_prstatus);
-    note_size = ((sizeof(Elf32_Nhdr) + 3) / 4 + (name_size + 3) / 4 +
-                (descsz + 3) / 4) * 4;
+    note_size = (DIV_ROUND_UP(sizeof(Elf32_Nhdr), 4) + DIV_ROUND_UP(name_size, 4) +
+                DIV_ROUND_UP(descsz, 4)) * 4;
     note = g_malloc0(note_size);
     note->n_namesz = cpu_to_le32(name_size);
     note->n_descsz = cpu_to_le32(descsz);
@@ -338,8 +338,8 @@ static inline int cpu_write_qemu_note(WriteCoreDumpFunction f,
     } else {
         note_head_size = sizeof(Elf64_Nhdr);
     }
-    note_size = ((note_head_size + 3) / 4 + (name_size + 3) / 4 +
-                (descsz + 3) / 4) * 4;
+    note_size = (DIV_ROUND_UP(note_head_size, 4) + DIV_ROUND_UP(name_size, 4) +
+                DIV_ROUND_UP(descsz, 4)) * 4;
     note = g_malloc0(note_size);
     if (type == 0) {
         note32 = note;
@@ -443,10 +443,10 @@ ssize_t cpu_get_note_size(int class, int machine, int nr_cpus)
 #endif
     qemu_desc_size = sizeof(QEMUCPUState);
 
-    elf_note_size = ((note_head_size + 3) / 4 + (name_size + 3) / 4 +
-                     (elf_desc_size + 3) / 4) * 4;
-    qemu_note_size = ((note_head_size + 3) / 4 + (name_size + 3) / 4 +
-                      (qemu_desc_size + 3) / 4) * 4;
+    elf_note_size = (DIV_ROUND_UP(note_head_size, 4) + DIV_ROUND_UP(name_size, 4) +
+                     DIV_ROUND_UP(elf_desc_size, 4)) * 4;
+    qemu_note_size = (DIV_ROUND_UP(note_head_size, 4) + DIV_ROUND_UP(name_size, 4) +
+                      DIV_ROUND_UP(qemu_desc_size, 4)) * 4;
 
     return (elf_note_size + qemu_note_size) * nr_cpus;
 }
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 25/31] kvm: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (23 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 24/31] i386/dump: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 26/31] decnumber: " Marc-André Lureau
                   ` (7 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 linux-headers/asm-x86/kvm.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/linux-headers/asm-x86/kvm.h b/linux-headers/asm-x86/kvm.h
index c2824d02ba..1930b95bcb 100644
--- a/linux-headers/asm-x86/kvm.h
+++ b/linux-headers/asm-x86/kvm.h
@@ -153,7 +153,7 @@ struct kvm_sregs {
 	__u64 cr0, cr2, cr3, cr4, cr8;
 	__u64 efer;
 	__u64 apic_base;
-	__u64 interrupt_bitmap[(KVM_NR_INTERRUPTS + 63) / 64];
+	__u64 interrupt_bitmap[DIV_ROUND_UP(KVM_NR_INTERRUPTS, 64)];
 };
 
 /* for KVM_GET_FPU and KVM_SET_FPU */
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 26/31] decnumber: use DIV_ROUND_UP
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (24 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 25/31] kvm: " Marc-André Lureau
@ 2017-06-22 12:41 ` Marc-André Lureau
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 27/31] i386: introduce ELF_NOTE_SIZE macro Marc-André Lureau
                   ` (6 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau

I used the clang-tidy qemu-round check to generate the fix:
https://github.com/elmarco/clang-tools-extra

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 libdecnumber/decNumber.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libdecnumber/decNumber.c b/libdecnumber/decNumber.c
index c9e7807f87..8c197023f4 100644
--- a/libdecnumber/decNumber.c
+++ b/libdecnumber/decNumber.c
@@ -4775,7 +4775,7 @@ static decNumber * decDivideOp(decNumber *res,
 	    half=*up & 0x01;
 	    *up/=2;		   /* [shift] */
 	    if (!half) continue;
-	    *(up-1)+=(DECDPUNMAX+1)/2;
+	    *(up-1)+=DIV_ROUND_UP(DECDPUNMAX, 2);
 	    }
 	  /* [accunits still describes the original remainder length] */
 
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 27/31] i386: introduce ELF_NOTE_SIZE macro
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (25 preceding siblings ...)
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 26/31] decnumber: " Marc-André Lureau
@ 2017-06-22 12:42 ` Marc-André Lureau
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 28/31] 9pfs: replace g_malloc()+memcpy() with g_memdup() Marc-André Lureau
                   ` (5 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Paolo Bonzini, Richard Henderson,
	Eduardo Habkost

Factour out a common pattern to compute the ELF note size.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 target/i386/arch_dump.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/target/i386/arch_dump.c b/target/i386/arch_dump.c
index e081f677fa..e682904052 100644
--- a/target/i386/arch_dump.c
+++ b/target/i386/arch_dump.c
@@ -18,6 +18,11 @@
 #include "elf.h"
 #include "sysemu/memory_mapping.h"
 
+#define ELF_NOTE_SIZE(hdr_size, name_size, desc_size)   \
+    ((DIV_ROUND_UP((hdr_size), 4)                       \
+      + DIV_ROUND_UP((name_size), 4)                    \
+      + DIV_ROUND_UP((desc_size), 4)) * 4)
+
 #ifdef TARGET_X86_64
 typedef struct {
     target_ulong r15, r14, r13, r12, rbp, rbx, r11, r10;
@@ -77,8 +82,7 @@ static int x86_64_write_elf64_note(WriteCoreDumpFunction f,
     regs.gs = env->segs[R_GS].selector;
 
     descsz = sizeof(x86_64_elf_prstatus);
-    note_size = (DIV_ROUND_UP(sizeof(Elf64_Nhdr), 4) + DIV_ROUND_UP(name_size, 4) +
-                DIV_ROUND_UP(descsz, 4)) * 4;
+    note_size = ELF_NOTE_SIZE(sizeof(Elf64_Nhdr), name_size, descsz);
     note = g_malloc0(note_size);
     note->n_namesz = cpu_to_le32(name_size);
     note->n_descsz = cpu_to_le32(descsz);
@@ -156,8 +160,7 @@ static int x86_write_elf64_note(WriteCoreDumpFunction f, CPUX86State *env,
 
     x86_fill_elf_prstatus(&prstatus, env, id);
     descsz = sizeof(x86_elf_prstatus);
-    note_size = (DIV_ROUND_UP(sizeof(Elf64_Nhdr), 4) + DIV_ROUND_UP(name_size, 4) +
-                DIV_ROUND_UP(descsz, 4)) * 4;
+    note_size = ELF_NOTE_SIZE(sizeof(Elf64_Nhdr), name_size, descsz);
     note = g_malloc0(note_size);
     note->n_namesz = cpu_to_le32(name_size);
     note->n_descsz = cpu_to_le32(descsz);
@@ -211,8 +214,7 @@ int x86_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
 
     x86_fill_elf_prstatus(&prstatus, &cpu->env, cpuid);
     descsz = sizeof(x86_elf_prstatus);
-    note_size = (DIV_ROUND_UP(sizeof(Elf32_Nhdr), 4) + DIV_ROUND_UP(name_size, 4) +
-                DIV_ROUND_UP(descsz, 4)) * 4;
+    note_size = ELF_NOTE_SIZE(sizeof(Elf32_Nhdr), name_size, descsz);
     note = g_malloc0(note_size);
     note->n_namesz = cpu_to_le32(name_size);
     note->n_descsz = cpu_to_le32(descsz);
@@ -443,10 +445,8 @@ ssize_t cpu_get_note_size(int class, int machine, int nr_cpus)
 #endif
     qemu_desc_size = sizeof(QEMUCPUState);
 
-    elf_note_size = (DIV_ROUND_UP(note_head_size, 4) + DIV_ROUND_UP(name_size, 4) +
-                     DIV_ROUND_UP(elf_desc_size, 4)) * 4;
-    qemu_note_size = (DIV_ROUND_UP(note_head_size, 4) + DIV_ROUND_UP(name_size, 4) +
-                      DIV_ROUND_UP(qemu_desc_size, 4)) * 4;
+    elf_note_size = ELF_NOTE_SIZE(note_head_size, name_size, elf_desc_size);
+    qemu_note_size = ELF_NOTE_SIZE(note_head_size, name_size, qemu_desc_size);
 
     return (elf_note_size + qemu_note_size) * nr_cpus;
 }
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 28/31] 9pfs: replace g_malloc()+memcpy() with g_memdup()
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (26 preceding siblings ...)
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 27/31] i386: introduce ELF_NOTE_SIZE macro Marc-André Lureau
@ 2017-06-22 12:42 ` Marc-André Lureau
  2017-06-22 13:08   ` Greg Kurz
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 29/31] i386: " Marc-André Lureau
                   ` (4 subsequent siblings)
  32 siblings, 1 reply; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Aneesh Kumar K.V, Greg Kurz

I found these pattern via grepping the source tree. I don't have a
coccinelle script for it!

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/9pfs/9p-synth.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/hw/9pfs/9p-synth.c b/hw/9pfs/9p-synth.c
index 4b6d4e6a3f..df0a8de08a 100644
--- a/hw/9pfs/9p-synth.c
+++ b/hw/9pfs/9p-synth.c
@@ -494,8 +494,7 @@ static int synth_name_to_path(FsContext *ctx, V9fsPath *dir_path,
     }
 out:
     /* Copy the node pointer to fid */
-    target->data = g_malloc(sizeof(void *));
-    memcpy(target->data, &node, sizeof(void *));
+    target->data = g_memdup(&node, sizeof(void *));
     target->size = sizeof(void *);
     return 0;
 }
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 29/31] i386: replace g_malloc()+memcpy() with g_memdup()
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (27 preceding siblings ...)
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 28/31] 9pfs: replace g_malloc()+memcpy() with g_memdup() Marc-André Lureau
@ 2017-06-22 12:42 ` Marc-André Lureau
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 30/31] test-iov: " Marc-André Lureau
                   ` (3 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:42 UTC (permalink / raw)
  To: qemu-devel
  Cc: Marc-André Lureau, Paolo Bonzini, Richard Henderson,
	Eduardo Habkost, Michael S. Tsirkin

I found these pattern via grepping the source tree. I don't have a
coccinelle script for it!

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/i386/multiboot.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c
index f13e23139b..6001f4caa2 100644
--- a/hw/i386/multiboot.c
+++ b/hw/i386/multiboot.c
@@ -352,8 +352,7 @@ int load_multiboot(FWCfgState *fw_cfg,
     mb_debug("           mb_mods_count = %d\n", mbs.mb_mods_count);
 
     /* save bootinfo off the stack */
-    mb_bootinfo_data = g_malloc(sizeof(bootinfo));
-    memcpy(mb_bootinfo_data, bootinfo, sizeof(bootinfo));
+    mb_bootinfo_data = g_memdup(bootinfo, sizeof(bootinfo));
 
     /* Pass variables to option rom */
     fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ENTRY, mh_entry_addr);
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 30/31] test-iov: replace g_malloc()+memcpy() with g_memdup()
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (28 preceding siblings ...)
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 29/31] i386: " Marc-André Lureau
@ 2017-06-22 12:42 ` Marc-André Lureau
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 31/31] eepro100: " Marc-André Lureau
                   ` (2 subsequent siblings)
  32 siblings, 0 replies; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau

I found these pattern via grepping the source tree. I don't have a
coccinelle script for it!

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/test-iov.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/tests/test-iov.c b/tests/test-iov.c
index a22d71fd2c..fa3d75aee1 100644
--- a/tests/test-iov.c
+++ b/tests/test-iov.c
@@ -167,8 +167,7 @@ static void test_io(void)
     }
     iov_from_buf(iov, niov, 0, buf, sz);
 
-    siov = g_malloc(sizeof(*iov) * niov);
-    memcpy(siov, iov, sizeof(*iov) * niov);
+    siov = g_memdup(iov, sizeof(*iov) * niov);
 
     if (socketpair(PF_UNIX, SOCK_STREAM, 0, sv) < 0) {
        perror("socketpair");
-- 
2.13.1.395.gf7b71de06

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

* [Qemu-devel] [PATCH 31/31] eepro100: replace g_malloc()+memcpy() with g_memdup()
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (29 preceding siblings ...)
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 30/31] test-iov: " Marc-André Lureau
@ 2017-06-22 12:42 ` Marc-André Lureau
  2017-06-22 13:09   ` Stefan Weil
  2017-06-22 12:59 ` [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Peter Maydell
  2017-06-22 13:54 ` no-reply
  32 siblings, 1 reply; 42+ messages in thread
From: Marc-André Lureau @ 2017-06-22 12:42 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau, Jason Wang

I found these pattern via grepping the source tree. I don't have a
coccinelle script for it!

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/net/eepro100.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/hw/net/eepro100.c b/hw/net/eepro100.c
index 4bf71f2d85..7d3b2e52c7 100644
--- a/hw/net/eepro100.c
+++ b/hw/net/eepro100.c
@@ -1894,8 +1894,7 @@ static void e100_nic_realize(PCIDevice *pci_dev, Error **errp)
 
     qemu_register_reset(nic_reset, s);
 
-    s->vmstate = g_malloc(sizeof(vmstate_eepro100));
-    memcpy(s->vmstate, &vmstate_eepro100, sizeof(vmstate_eepro100));
+    s->vmstate = g_memdup(&vmstate_eepro100, sizeof(vmstate_eepro100));
     s->vmstate->name = qemu_get_queue(s->nic)->model;
     vmstate_register(&pci_dev->qdev, -1, s->vmstate, s);
 }
-- 
2.13.1.395.gf7b71de06

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

* Re: [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (30 preceding siblings ...)
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 31/31] eepro100: " Marc-André Lureau
@ 2017-06-22 12:59 ` Peter Maydell
  2017-06-22 13:54 ` no-reply
  32 siblings, 0 replies; 42+ messages in thread
From: Peter Maydell @ 2017-06-22 12:59 UTC (permalink / raw)
  To: Marc-André Lureau; +Cc: QEMU Developers

On 22 June 2017 at 13:41, Marc-André Lureau <marcandre.lureau@redhat.com> wrote:
> Various refactring questions on previously sent series prompted me to
> look at coccinelle to automate some changes again. Alas, semantic
> patches are not so easy to express for me, cocci doesn't catch all
> cases, is quite slow, and it doesn't seem possible to evaluate
> expressions to check if E == E-1 or if E is pow2 for example.
>
> I started looking at clang-tidy
> (http://clang.llvm.org/extra/clang-tidy/) as an alternative to do some
> refactoring.

Oh, very nice. I've had "investigate clang-tidy" in my todo list for
ages so it's nice that somebody has done it for me ;-)

I think it would be particularly interesting to look at whether
we can use this infrastructure to automatically detect some kinds
of bug, rather than merely stylistic issues. (As a random
example, could you detect calls to coroutine_fn functions from
normal functions?)

thanks
-- PMM

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

* Re: [Qemu-devel] [PATCH 28/31] 9pfs: replace g_malloc()+memcpy() with g_memdup()
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 28/31] 9pfs: replace g_malloc()+memcpy() with g_memdup() Marc-André Lureau
@ 2017-06-22 13:08   ` Greg Kurz
  0 siblings, 0 replies; 42+ messages in thread
From: Greg Kurz @ 2017-06-22 13:08 UTC (permalink / raw)
  To: Marc-André Lureau; +Cc: qemu-devel, Aneesh Kumar K.V

[-- Attachment #1: Type: text/plain, Size: 978 bytes --]

On Thu, 22 Jun 2017 14:42:01 +0200
Marc-André Lureau <marcandre.lureau@redhat.com> wrote:

> I found these pattern via grepping the source tree. I don't have a
> coccinelle script for it!
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---

Thanks! Applied to my 9p-next branch at:

https://github.com/gkurz/qemu/commits/9p-next

>  hw/9pfs/9p-synth.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/hw/9pfs/9p-synth.c b/hw/9pfs/9p-synth.c
> index 4b6d4e6a3f..df0a8de08a 100644
> --- a/hw/9pfs/9p-synth.c
> +++ b/hw/9pfs/9p-synth.c
> @@ -494,8 +494,7 @@ static int synth_name_to_path(FsContext *ctx, V9fsPath *dir_path,
>      }
>  out:
>      /* Copy the node pointer to fid */
> -    target->data = g_malloc(sizeof(void *));
> -    memcpy(target->data, &node, sizeof(void *));
> +    target->data = g_memdup(&node, sizeof(void *));
>      target->size = sizeof(void *);
>      return 0;
>  }


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

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

* Re: [Qemu-devel] [PATCH 31/31] eepro100: replace g_malloc()+memcpy() with g_memdup()
  2017-06-22 12:42 ` [Qemu-devel] [PATCH 31/31] eepro100: " Marc-André Lureau
@ 2017-06-22 13:09   ` Stefan Weil
  2017-06-23  8:46     ` Jason Wang
  0 siblings, 1 reply; 42+ messages in thread
From: Stefan Weil @ 2017-06-22 13:09 UTC (permalink / raw)
  To: Marc-André Lureau, qemu-devel; +Cc: Jason Wang

Am 22.06.2017 um 14:42 schrieb Marc-André Lureau:
> I found these pattern via grepping the source tree. I don't have a
> coccinelle script for it!
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  hw/net/eepro100.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/hw/net/eepro100.c b/hw/net/eepro100.c
> index 4bf71f2d85..7d3b2e52c7 100644
> --- a/hw/net/eepro100.c
> +++ b/hw/net/eepro100.c
> @@ -1894,8 +1894,7 @@ static void e100_nic_realize(PCIDevice *pci_dev, Error **errp)
>  
>      qemu_register_reset(nic_reset, s);
>  
> -    s->vmstate = g_malloc(sizeof(vmstate_eepro100));
> -    memcpy(s->vmstate, &vmstate_eepro100, sizeof(vmstate_eepro100));
> +    s->vmstate = g_memdup(&vmstate_eepro100, sizeof(vmstate_eepro100));
>      s->vmstate->name = qemu_get_queue(s->nic)->model;
>      vmstate_register(&pci_dev->qdev, -1, s->vmstate, s);
>  }
> 

Reviewed-by: Stefan Weil <sw@weilnetz.de>

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

* Re: [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy
  2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
                   ` (31 preceding siblings ...)
  2017-06-22 12:59 ` [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Peter Maydell
@ 2017-06-22 13:54 ` no-reply
  32 siblings, 0 replies; 42+ messages in thread
From: no-reply @ 2017-06-22 13:54 UTC (permalink / raw)
  To: marcandre.lureau; +Cc: famz, qemu-devel

Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20170622124204.19407-1-marcandre.lureau@redhat.com
Subject: [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20170622033231.19344-1-f4bug@amsat.org -> patchew/20170622033231.19344-1-f4bug@amsat.org
 - [tag update]      patchew/20170622124204.19407-1-marcandre.lureau@redhat.com -> patchew/20170622124204.19407-1-marcandre.lureau@redhat.com
Switched to a new branch 'test'
ef7ecd5 eepro100: replace g_malloc()+memcpy() with g_memdup()
e835e82 test-iov: replace g_malloc()+memcpy() with g_memdup()
6cf725b i386: replace g_malloc()+memcpy() with g_memdup()
e8fb6bf 9pfs: replace g_malloc()+memcpy() with g_memdup()
8890651 i386: introduce ELF_NOTE_SIZE macro
3b504b6 decnumber: use DIV_ROUND_UP
20d7521 kvm: use DIV_ROUND_UP
aff7bf0 i386/dump: use DIV_ROUND_UP
24b41f9 ppc: use DIV_ROUND_UP
5796db0 msix: use DIV_ROUND_UP
15bf263 usb-hub: use DIV_ROUND_UP
1a7a691 q35: use DIV_ROUND_UP
5854633 piix: use DIV_ROUND_UP
7131ae7 virtio-serial: use DIV_ROUND_UP
cc43300 console: use DIV_ROUND_UP
f50d148 monitor: use DIV_ROUND_UP
059282b virtio-gpu: use DIV_ROUND_UP
2054fcf vga: use DIV_ROUND_UP
e9c4107 ui: use DIV_ROUND_UP
033d501 slirp: use DIV_ROUND_UP
a6560ec vnc: use DIV_ROUND_UP
889a8de vvfat: use DIV_ROUND_UP
2ace8f6 vpc: use DIV_ROUND_UP
b14cee9 qcow2: use DIV_ROUND_UP
0ae8a14 dmg: use DIV_ROUND_UP
f34c5a5 pcspk: use QEMU_ALIGN_DOWN
85c3191 i8254: use QEMU_ALIGN_DOWN
ad42a17 vhost: use QEMU_ALIGN_DOWN
207228e vhdx: use QEMU_ALIGN_DOWN
d4a22e3 vnc: use QEMU_ALIGN_DOWN
cf87ec7 i386: use ROUND_UP macro

=== OUTPUT BEGIN ===
Checking PATCH 1/31: i386: use ROUND_UP macro...
Checking PATCH 2/31: vnc: use QEMU_ALIGN_DOWN...
Checking PATCH 3/31: vhdx: use QEMU_ALIGN_DOWN...
Checking PATCH 4/31: vhost: use QEMU_ALIGN_DOWN...
Checking PATCH 5/31: i8254: use QEMU_ALIGN_DOWN...
Checking PATCH 6/31: pcspk: use QEMU_ALIGN_DOWN...
ERROR: line over 90 characters
#24: FILE: hw/audio/pcspk.c:72:
+        s->samples = (QEMU_ALIGN_DOWN(PCSPK_BUF_LEN * PIT_FREQ, m) / (PIT_FREQ >> 1) + 1) >> 1;

total: 1 errors, 0 warnings, 8 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 7/31: dmg: use DIV_ROUND_UP...
Checking PATCH 8/31: qcow2: use DIV_ROUND_UP...
Checking PATCH 9/31: vpc: use DIV_ROUND_UP...
Checking PATCH 10/31: vvfat: use DIV_ROUND_UP...
ERROR: spaces required around that '=' (ctx:VxV)
#24: FILE: block/vvfat.c:435:
+        number_of_entries=DIV_ROUND_UP(length, 26),i;
                          ^

ERROR: space required after that ',' (ctx:VxV)
#24: FILE: block/vvfat.c:435:
+        number_of_entries=DIV_ROUND_UP(length, 26),i;
                                                   ^

ERROR: code indent should never use tabs
#33: FILE: block/vvfat.c:2426:
+^I    (uint8_t*)cluster, DIV_ROUND_UP(rest_size, 0x200));$

ERROR: "(foo*)" should be "(foo *)"
#33: FILE: block/vvfat.c:2426:
+	    (uint8_t*)cluster, DIV_ROUND_UP(rest_size, 0x200));

total: 4 errors, 0 warnings, 16 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 11/31: vnc: use DIV_ROUND_UP...
WARNING: line over 80 characters
#37: FILE: ui/vnc.c:2785:
+        guest_ll = pixman_image_get_width(vd->guest.fb) * (DIV_ROUND_UP(guest_bpp, 8));

total: 0 errors, 1 warnings, 16 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 12/31: slirp: use DIV_ROUND_UP...
Checking PATCH 13/31: ui: use DIV_ROUND_UP...
Checking PATCH 14/31: vga: use DIV_ROUND_UP...
Checking PATCH 15/31: virtio-gpu: use DIV_ROUND_UP...
Checking PATCH 16/31: monitor: use DIV_ROUND_UP...
Checking PATCH 17/31: console: use DIV_ROUND_UP...
Checking PATCH 18/31: virtio-serial: use DIV_ROUND_UP...
WARNING: line over 80 characters
#51: FILE: hw/char/virtio-serial-bus.c:1078:
+    vser->ports_map = g_malloc0((DIV_ROUND_UP(vser->serial.max_virtserial_ports, 32))

total: 0 errors, 1 warnings, 32 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 19/31: piix: use DIV_ROUND_UP...
Checking PATCH 20/31: q35: use DIV_ROUND_UP...
Checking PATCH 21/31: usb-hub: use DIV_ROUND_UP...
Checking PATCH 22/31: msix: use DIV_ROUND_UP...
Checking PATCH 23/31: ppc: use DIV_ROUND_UP...
Checking PATCH 24/31: i386/dump: use DIV_ROUND_UP...
WARNING: line over 80 characters
#25: FILE: target/i386/arch_dump.c:80:
+    note_size = (DIV_ROUND_UP(sizeof(Elf64_Nhdr), 4) + DIV_ROUND_UP(name_size, 4) +

WARNING: line over 80 characters
#36: FILE: target/i386/arch_dump.c:159:
+    note_size = (DIV_ROUND_UP(sizeof(Elf64_Nhdr), 4) + DIV_ROUND_UP(name_size, 4) +

WARNING: line over 80 characters
#47: FILE: target/i386/arch_dump.c:214:
+    note_size = (DIV_ROUND_UP(sizeof(Elf32_Nhdr), 4) + DIV_ROUND_UP(name_size, 4) +

WARNING: line over 80 characters
#71: FILE: target/i386/arch_dump.c:446:
+    elf_note_size = (DIV_ROUND_UP(note_head_size, 4) + DIV_ROUND_UP(name_size, 4) +

WARNING: line over 80 characters
#73: FILE: target/i386/arch_dump.c:448:
+    qemu_note_size = (DIV_ROUND_UP(note_head_size, 4) + DIV_ROUND_UP(name_size, 4) +

total: 0 errors, 5 warnings, 54 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 25/31: kvm: use DIV_ROUND_UP...
Checking PATCH 26/31: decnumber: use DIV_ROUND_UP...
ERROR: code indent should never use tabs
#24: FILE: libdecnumber/decNumber.c:4778:
+^I    *(up-1)+=DIV_ROUND_UP(DECDPUNMAX, 2);$

ERROR: spaces required around that '-' (ctx:VxV)
#24: FILE: libdecnumber/decNumber.c:4778:
+	    *(up-1)+=DIV_ROUND_UP(DECDPUNMAX, 2);
 	        ^

ERROR: spaces required around that '+=' (ctx:VxV)
#24: FILE: libdecnumber/decNumber.c:4778:
+	    *(up-1)+=DIV_ROUND_UP(DECDPUNMAX, 2);
 	           ^

total: 3 errors, 0 warnings, 8 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 27/31: i386: introduce ELF_NOTE_SIZE macro...
Checking PATCH 28/31: 9pfs: replace g_malloc()+memcpy() with g_memdup()...
Checking PATCH 29/31: i386: replace g_malloc()+memcpy() with g_memdup()...
Checking PATCH 30/31: test-iov: replace g_malloc()+memcpy() with g_memdup()...
Checking PATCH 31/31: eepro100: replace g_malloc()+memcpy() with g_memdup()...
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org

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

* Re: [Qemu-devel] [PATCH 04/31] vhost: use QEMU_ALIGN_DOWN
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 04/31] vhost: " Marc-André Lureau
@ 2017-06-22 18:49   ` Michael S. Tsirkin
  0 siblings, 0 replies; 42+ messages in thread
From: Michael S. Tsirkin @ 2017-06-22 18:49 UTC (permalink / raw)
  To: Marc-André Lureau; +Cc: qemu-devel

On Thu, Jun 22, 2017 at 02:41:37PM +0200, Marc-André Lureau wrote:
> I used the clang-tidy qemu-round check to generate the fix:
> https://github.com/elmarco/clang-tools-extra
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

> ---
>  hw/virtio/vhost.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
> index 6eddb099b0..0049a2c0b3 100644
> --- a/hw/virtio/vhost.c
> +++ b/hw/virtio/vhost.c
> @@ -70,7 +70,7 @@ static void vhost_dev_sync_region(struct vhost_dev *dev,
>      uint64_t end = MIN(mlast, rlast);
>      vhost_log_chunk_t *from = log + start / VHOST_LOG_CHUNK;
>      vhost_log_chunk_t *to = log + end / VHOST_LOG_CHUNK + 1;
> -    uint64_t addr = (start / VHOST_LOG_CHUNK) * VHOST_LOG_CHUNK;
> +    uint64_t addr = QEMU_ALIGN_DOWN(start, VHOST_LOG_CHUNK);
>  
>      if (end < start) {
>          return;
> -- 
> 2.13.1.395.gf7b71de06

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

* Re: [Qemu-devel] [PATCH 12/31] slirp: use DIV_ROUND_UP
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 12/31] slirp: " Marc-André Lureau
@ 2017-06-23  0:19   ` Samuel Thibault
  0 siblings, 0 replies; 42+ messages in thread
From: Samuel Thibault @ 2017-06-23  0:19 UTC (permalink / raw)
  To: Marc-André Lureau; +Cc: qemu-devel, Jan Kiszka

Marc-André Lureau, on jeu. 22 juin 2017 14:41:45 +0200, wrote:
> I used the clang-tidy qemu-round check to generate the fix:
> https://github.com/elmarco/clang-tools-extra
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Applied to my tree, thanks!

> ---
>  slirp/ip6.h | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/slirp/ip6.h b/slirp/ip6.h
> index 0908855f0f..b1bea43b3c 100644
> --- a/slirp/ip6.h
> +++ b/slirp/ip6.h
> @@ -57,9 +57,9 @@ static inline bool in6_equal_mach(const struct in6_addr *a,
>                                    const struct in6_addr *b,
>                                    int prefix_len)
>  {
> -    if (memcmp(&(a->s6_addr[(prefix_len + 7) / 8]),
> -               &(b->s6_addr[(prefix_len + 7) / 8]),
> -               16 - (prefix_len + 7) / 8) != 0) {
> +    if (memcmp(&(a->s6_addr[DIV_ROUND_UP(prefix_len, 8)]),
> +               &(b->s6_addr[DIV_ROUND_UP(prefix_len, 8)]),
> +               16 - DIV_ROUND_UP(prefix_len, 8)) != 0) {
>          return 0;
>      }
>  
> -- 
> 2.13.1.395.gf7b71de06
> 

-- 
Samuel
<D> N: j'aime bien Cut d'un truc enorme... ca montre de quel cote de l'ecran sont les gonades :)))
 -+- #ens-mim et la peufeupeu -+-

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

* Re: [Qemu-devel] [PATCH 31/31] eepro100: replace g_malloc()+memcpy() with g_memdup()
  2017-06-22 13:09   ` Stefan Weil
@ 2017-06-23  8:46     ` Jason Wang
  0 siblings, 0 replies; 42+ messages in thread
From: Jason Wang @ 2017-06-23  8:46 UTC (permalink / raw)
  To: Stefan Weil, Marc-André Lureau, qemu-devel



On 2017年06月22日 21:09, Stefan Weil wrote:
> Am 22.06.2017 um 14:42 schrieb Marc-André Lureau:
>> I found these pattern via grepping the source tree. I don't have a
>> coccinelle script for it!
>>
>> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>> ---
>>   hw/net/eepro100.c | 3 +--
>>   1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/hw/net/eepro100.c b/hw/net/eepro100.c
>> index 4bf71f2d85..7d3b2e52c7 100644
>> --- a/hw/net/eepro100.c
>> +++ b/hw/net/eepro100.c
>> @@ -1894,8 +1894,7 @@ static void e100_nic_realize(PCIDevice *pci_dev, Error **errp)
>>   
>>       qemu_register_reset(nic_reset, s);
>>   
>> -    s->vmstate = g_malloc(sizeof(vmstate_eepro100));
>> -    memcpy(s->vmstate, &vmstate_eepro100, sizeof(vmstate_eepro100));
>> +    s->vmstate = g_memdup(&vmstate_eepro100, sizeof(vmstate_eepro100));
>>       s->vmstate->name = qemu_get_queue(s->nic)->model;
>>       vmstate_register(&pci_dev->qdev, -1, s->vmstate, s);
>>   }
>>
> Reviewed-by: Stefan Weil <sw@weilnetz.de>
>

Reviewed-by: Jason Wang <jasowang@redhat.com>

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

* Re: [Qemu-devel] [PATCH 07/31] dmg: use DIV_ROUND_UP
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 07/31] dmg: use DIV_ROUND_UP Marc-André Lureau
@ 2017-06-23  9:56   ` Stefan Hajnoczi
  0 siblings, 0 replies; 42+ messages in thread
From: Stefan Hajnoczi @ 2017-06-23  9:56 UTC (permalink / raw)
  To: Marc-André Lureau; +Cc: qemu-devel, Kevin Wolf, Max Reitz, open list:dmg

[-- Attachment #1: Type: text/plain, Size: 383 bytes --]

On Thu, Jun 22, 2017 at 02:41:40PM +0200, Marc-André Lureau wrote:
> I used the clang-tidy qemu-round check to generate the fix:
> https://github.com/elmarco/clang-tools-extra
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  block/dmg.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]

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

* Re: [Qemu-devel] [PATCH 23/31] ppc: use DIV_ROUND_UP
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 23/31] ppc: " Marc-André Lureau
@ 2017-07-02  3:04   ` David Gibson
  0 siblings, 0 replies; 42+ messages in thread
From: David Gibson @ 2017-07-02  3:04 UTC (permalink / raw)
  To: Marc-André Lureau; +Cc: qemu-devel, Alexander Graf, open list:PowerPC

[-- Attachment #1: Type: text/plain, Size: 1797 bytes --]

On Thu, Jun 22, 2017 at 02:41:56PM +0200, Marc-André Lureau wrote:
> I used the clang-tidy qemu-round check to generate the fix:
> https://github.com/elmarco/clang-tools-extra
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Acked-by: David Gibson <david@gibson.dropbear.id.au>

> ---
>  target/ppc/mem_helper.c | 2 +-
>  target/ppc/translate.c  | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/target/ppc/mem_helper.c b/target/ppc/mem_helper.c
> index e6383c6bfa..a34e604db3 100644
> --- a/target/ppc/mem_helper.c
> +++ b/target/ppc/mem_helper.c
> @@ -111,7 +111,7 @@ void helper_lswx(CPUPPCState *env, target_ulong addr, uint32_t reg,
>                   uint32_t ra, uint32_t rb)
>  {
>      if (likely(xer_bc != 0)) {
> -        int num_used_regs = (xer_bc + 3) / 4;
> +        int num_used_regs = DIV_ROUND_UP(xer_bc, 4);
>          if (unlikely((ra != 0 && lsw_reg_in_range(reg, num_used_regs, ra)) ||
>                       lsw_reg_in_range(reg, num_used_regs, rb))) {
>              raise_exception_err_ra(env, POWERPC_EXCP_PROGRAM,
> diff --git a/target/ppc/translate.c b/target/ppc/translate.c
> index c0cd64d927..76f9ccde25 100644
> --- a/target/ppc/translate.c
> +++ b/target/ppc/translate.c
> @@ -2882,7 +2882,7 @@ static void gen_lswi(DisasContext *ctx)
>      }
>      if (nb == 0)
>          nb = 32;
> -    nr = (nb + 3) / 4;
> +    nr = DIV_ROUND_UP(nb, 4);
>      if (unlikely(lsw_reg_in_range(start, nr, ra))) {
>          gen_inval_exception(ctx, POWERPC_EXCP_INVAL_LSWX);
>          return;

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: [Qemu-devel] [Qemu-block] [PATCH 10/31] vvfat: use DIV_ROUND_UP
  2017-06-22 12:41 ` [Qemu-devel] [PATCH 10/31] vvfat: " Marc-André Lureau
@ 2017-07-03 11:38   ` Eric Blake
  0 siblings, 0 replies; 42+ messages in thread
From: Eric Blake @ 2017-07-03 11:38 UTC (permalink / raw)
  To: Marc-André Lureau, qemu-devel; +Cc: Kevin Wolf, open list:vvfat, Max Reitz

[-- Attachment #1: Type: text/plain, Size: 1436 bytes --]

On 06/22/2017 07:41 AM, Marc-André Lureau wrote:
> I used the clang-tidy qemu-round check to generate the fix:
> https://github.com/elmarco/clang-tools-extra
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  block/vvfat.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/block/vvfat.c b/block/vvfat.c
> index 426ca70e35..877f71dcdc 100644
> --- a/block/vvfat.c
> +++ b/block/vvfat.c
> @@ -433,7 +433,7 @@ static inline direntry_t* create_long_filename(BDRVVVFATState* s,const char* fil
>  {
>      char buffer[258];
>      int length=short2long_name(buffer,filename),
> -        number_of_entries=(length+25)/26,i;
> +        number_of_entries=DIV_ROUND_UP(length, 26),i;

This formatting made me do a double take (at first, I thought it was a
comma expression, before realizing it was a declaration).  While you are
touching it, can you please rewrite it into something more legible, such as:

int length = short2long_name(buffer, filename);
int number_of_entries = DIV_ROUND_UP(length, 26);
int i;

I don't mind declaring multiple variables in one declaration - provided
that we aren't also initializing them.  But mixing in the un-initialized
declaration of 'i' with other initialized variables is just awkward.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

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

end of thread, other threads:[~2017-07-03 11:38 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-22 12:41 [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 01/31] i386: use ROUND_UP macro Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 02/31] vnc: use QEMU_ALIGN_DOWN Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 03/31] vhdx: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 04/31] vhost: " Marc-André Lureau
2017-06-22 18:49   ` Michael S. Tsirkin
2017-06-22 12:41 ` [Qemu-devel] [PATCH 05/31] i8254: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 06/31] pcspk: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 07/31] dmg: use DIV_ROUND_UP Marc-André Lureau
2017-06-23  9:56   ` Stefan Hajnoczi
2017-06-22 12:41 ` [Qemu-devel] [PATCH 08/31] qcow2: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 09/31] vpc: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 10/31] vvfat: " Marc-André Lureau
2017-07-03 11:38   ` [Qemu-devel] [Qemu-block] " Eric Blake
2017-06-22 12:41 ` [Qemu-devel] [PATCH 11/31] vnc: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 12/31] slirp: " Marc-André Lureau
2017-06-23  0:19   ` Samuel Thibault
2017-06-22 12:41 ` [Qemu-devel] [PATCH 13/31] ui: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 14/31] vga: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 15/31] virtio-gpu: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 16/31] monitor: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 17/31] console: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 18/31] virtio-serial: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 19/31] piix: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 20/31] q35: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 21/31] usb-hub: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 22/31] msix: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 23/31] ppc: " Marc-André Lureau
2017-07-02  3:04   ` David Gibson
2017-06-22 12:41 ` [Qemu-devel] [PATCH 24/31] i386/dump: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 25/31] kvm: " Marc-André Lureau
2017-06-22 12:41 ` [Qemu-devel] [PATCH 26/31] decnumber: " Marc-André Lureau
2017-06-22 12:42 ` [Qemu-devel] [PATCH 27/31] i386: introduce ELF_NOTE_SIZE macro Marc-André Lureau
2017-06-22 12:42 ` [Qemu-devel] [PATCH 28/31] 9pfs: replace g_malloc()+memcpy() with g_memdup() Marc-André Lureau
2017-06-22 13:08   ` Greg Kurz
2017-06-22 12:42 ` [Qemu-devel] [PATCH 29/31] i386: " Marc-André Lureau
2017-06-22 12:42 ` [Qemu-devel] [PATCH 30/31] test-iov: " Marc-André Lureau
2017-06-22 12:42 ` [Qemu-devel] [PATCH 31/31] eepro100: " Marc-André Lureau
2017-06-22 13:09   ` Stefan Weil
2017-06-23  8:46     ` Jason Wang
2017-06-22 12:59 ` [Qemu-devel] [PATCH 00/31] Refactoring with clang-tidy Peter Maydell
2017-06-22 13:54 ` no-reply

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.