all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH v3 qemu 1/3] Add format attributes to function candidates
@ 2023-08-07 12:38 Filip Schauer
  2023-08-07 12:38 ` [pve-devel] [PATCH v3 qemu 2/3] Use already defined G_GNUC_PRINTF macro Filip Schauer
  2023-08-07 12:38 ` [pve-devel] [PATCH v3 qemu 3/3] Remove redundant function definition Filip Schauer
  0 siblings, 2 replies; 4+ messages in thread
From: Filip Schauer @ 2023-08-07 12:38 UTC (permalink / raw)
  To: pve-devel

Add format attributes to functions that take printf-like arguments. This
provides additional compile-time checking that the correct parameters
are passed to the functions.

This fixes compiler warnings generated by the -Wsuggest-attribute=format
flag.

Signed-off-by: Filip Schauer <f.schauer@proxmox.com>
---
 ...-async-for-background-state-snapshots.patch | 13 ++++++++++++-
 ...PVE-Backup-add-vma-backup-format-code.patch | 18 ++++++++++++++----
 2 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch b/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
index 7be1af4..68c5627 100644
--- a/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
+++ b/debian/patches/pve/0017-PVE-add-savevm-async-for-background-state-snapshots.patch
@@ -142,7 +142,7 @@ new file mode 100644
 index 0000000000..ac1fac6378
 --- /dev/null
 +++ b/migration/savevm-async.c
-@@ -0,0 +1,533 @@
+@@ -0,0 +1,544 @@
 +#include "qemu/osdep.h"
 +#include "migration/channel-savevm-async.h"
 +#include "migration/migration.h"
@@ -177,6 +177,16 @@ index 0000000000..ac1fac6378
 +    do { } while (0)
 +#endif
 +
++#ifdef __GNUC__
++#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
++#define PRINTF(i, j)    __attribute__((format (gnu_printf, i, j)))
++#else
++#define PRINTF(i, j)    __attribute__((format (printf, i, j)))
++#endif
++#else
++#define PRINTF(i, j)
++#endif
++
 +enum {
 +    SAVE_STATE_DONE,
 +    SAVE_STATE_ERROR,
@@ -275,6 +285,7 @@ index 0000000000..ac1fac6378
 +    return ret;
 +}
 +
++static void save_snapshot_error(const char *fmt, ...) PRINTF(1, 2);
 +static void save_snapshot_error(const char *fmt, ...)
 +{
 +    va_list ap;
diff --git a/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch b/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
index 8471a6f..5dcd866 100644
--- a/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
+++ b/debian/patches/pve/0027-PVE-Backup-add-vma-backup-format-code.patch
@@ -2314,13 +2314,13 @@ index 0000000000..304f02bc84
 +        ret = blk_co_preadv(job->target, start * VMA_CLUSTER_SIZE,
 +                            readlen, &qiov, 0);
 +        if (ret < 0) {
-+            vma_writer_set_error(job->vmaw, "read error", -1);
++            vma_writer_set_error(job->vmaw, "read error");
 +            goto out;
 +        }
 +
 +        size_t zb = 0;
 +        if (vma_writer_write(job->vmaw, job->dev_id, start, buf, &zb) < 0) {
-+            vma_writer_set_error(job->vmaw, "backup_dump_cb vma_writer_write failed", -1);
++            vma_writer_set_error(job->vmaw, "backup_dump_cb vma_writer_write failed");
 +            goto out;
 +        }
 +    }
@@ -2622,7 +2622,7 @@ new file mode 100644
 index 0000000000..1b62859165
 --- /dev/null
 +++ b/vma.h
-@@ -0,0 +1,150 @@
+@@ -0,0 +1,160 @@
 +/*
 + * VMA: Virtual Machine Archive
 + *
@@ -2643,6 +2643,16 @@ index 0000000000..1b62859165
 +#include "qapi/error.h"
 +#include "block/block.h"
 +
++#ifdef __GNUC__
++#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
++#define PRINTF(i, j)    __attribute__((format (gnu_printf, i, j)))
++#else
++#define PRINTF(i, j)    __attribute__((format (printf, i, j)))
++#endif
++#else
++#define PRINTF(i, j)
++#endif
++
 +#define VMA_BLOCK_BITS 12
 +#define VMA_BLOCK_SIZE (1<<VMA_BLOCK_BITS)
 +#define VMA_CLUSTER_BITS (VMA_BLOCK_BITS+4)
@@ -2757,7 +2767,7 @@ index 0000000000..1b62859165
 +int coroutine_fn vma_writer_flush_output(VmaWriter *vmaw);
 +
 +int vma_writer_get_status(VmaWriter *vmaw, VmaStatus *status);
-+void vma_writer_set_error(VmaWriter *vmaw, const char *fmt, ...);
++void vma_writer_set_error(VmaWriter *vmaw, const char *fmt, ...) PRINTF(2, 3);
 +
 +
 +VmaReader *vma_reader_create(const char *filename, Error **errp);
-- 
2.39.2





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

end of thread, other threads:[~2023-08-07 13:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-07 12:38 [pve-devel] [PATCH v3 qemu 1/3] Add format attributes to function candidates Filip Schauer
2023-08-07 12:38 ` [pve-devel] [PATCH v3 qemu 2/3] Use already defined G_GNUC_PRINTF macro Filip Schauer
2023-08-07 12:38 ` [pve-devel] [PATCH v3 qemu 3/3] Remove redundant function definition Filip Schauer
2023-08-07 13:03   ` Fiona Ebner

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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal