* [Qemu-devel] [PATCH] migration: fix warning for source_return_path_thread
@ 2016-03-09 6:12 Peter Xu
2016-03-09 7:54 ` Paolo Bonzini
0 siblings, 1 reply; 4+ messages in thread
From: Peter Xu @ 2016-03-09 6:12 UTC (permalink / raw)
To: qemu-devel; +Cc: amit.shah, pbonzini, peterx, quintela
max_len is not necessary, while it brings a warning during compilation
when specify "-Wstack-usage=1000000". Replacing using sizeof().
Signed-off-by: Peter Xu <peterx@redhat.com>
---
migration/migration.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index 0129d9f..6680d95 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1268,8 +1268,7 @@ static void *source_return_path_thread(void *opaque)
MigrationState *ms = opaque;
QEMUFile *rp = ms->rp_state.from_dst_file;
uint16_t header_len, header_type;
- const int max_len = 512;
- uint8_t buf[max_len];
+ uint8_t buf[512];
uint32_t tmp32, sibling_error;
ram_addr_t start = 0; /* =0 to silence warning */
size_t len = 0, expected_len;
@@ -1292,7 +1291,7 @@ static void *source_return_path_thread(void *opaque)
if ((rp_cmd_args[header_type].len != -1 &&
header_len != rp_cmd_args[header_type].len) ||
- header_len > max_len) {
+ header_len > sizeof(buf)) {
error_report("RP: Received '%s' message (0x%04x) with"
"incorrect length %d expecting %zu",
rp_cmd_args[header_type].name, header_type, header_len,
--
2.4.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] migration: fix warning for source_return_path_thread
2016-03-09 6:12 [Qemu-devel] [PATCH] migration: fix warning for source_return_path_thread Peter Xu
@ 2016-03-09 7:54 ` Paolo Bonzini
2016-03-09 8:26 ` Peter Xu
0 siblings, 1 reply; 4+ messages in thread
From: Paolo Bonzini @ 2016-03-09 7:54 UTC (permalink / raw)
To: Peter Xu, qemu-devel; +Cc: amit.shah, quintela
On 09/03/2016 07:12, Peter Xu wrote:
> max_len is not necessary, while it brings a warning during compilation
> when specify "-Wstack-usage=1000000". Replacing using sizeof().
>
> Signed-off-by: Peter Xu <peterx@redhat.com>
> ---
> migration/migration.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index 0129d9f..6680d95 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -1268,8 +1268,7 @@ static void *source_return_path_thread(void *opaque)
> MigrationState *ms = opaque;
> QEMUFile *rp = ms->rp_state.from_dst_file;
> uint16_t header_len, header_type;
> - const int max_len = 512;
> - uint8_t buf[max_len];
> + uint8_t buf[512];
> uint32_t tmp32, sibling_error;
> ram_addr_t start = 0; /* =0 to silence warning */
> size_t len = 0, expected_len;
> @@ -1292,7 +1291,7 @@ static void *source_return_path_thread(void *opaque)
>
> if ((rp_cmd_args[header_type].len != -1 &&
> header_len != rp_cmd_args[header_type].len) ||
> - header_len > max_len) {
> + header_len > sizeof(buf)) {
sizeof works fine because buf is an array of bytes, but ARRAY_SIZE is
better because it works for any type of buffer.
Paolo
> error_report("RP: Received '%s' message (0x%04x) with"
> "incorrect length %d expecting %zu",
> rp_cmd_args[header_type].name, header_type, header_len,
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] migration: fix warning for source_return_path_thread
2016-03-09 7:54 ` Paolo Bonzini
@ 2016-03-09 8:26 ` Peter Xu
2016-03-09 9:30 ` Paolo Bonzini
0 siblings, 1 reply; 4+ messages in thread
From: Peter Xu @ 2016-03-09 8:26 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: amit.shah, qemu-devel, quintela
On Wed, Mar 09, 2016 at 08:54:51AM +0100, Paolo Bonzini wrote:
> > @@ -1292,7 +1291,7 @@ static void *source_return_path_thread(void *opaque)
> >
> > if ((rp_cmd_args[header_type].len != -1 &&
> > header_len != rp_cmd_args[header_type].len) ||
> > - header_len > max_len) {
> > + header_len > sizeof(buf)) {
>
> sizeof works fine because buf is an array of bytes, but ARRAY_SIZE is
> better because it works for any type of buffer.
I carefully chose "sizeof" out of "ARRAY_SIZE" as commented by Eric
that, we'd better use sizeof() for char typed buffers.
Will this be related to how header_len is defined? That's something
I do not know... :( E.g., if it's defined as "length in bytes", then
shall we better use sizeof() in all cases?
Anyway, I take my above question as trivial since current buffer is
char typed.
Thanks!
Peter
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH] migration: fix warning for source_return_path_thread
2016-03-09 8:26 ` Peter Xu
@ 2016-03-09 9:30 ` Paolo Bonzini
0 siblings, 0 replies; 4+ messages in thread
From: Paolo Bonzini @ 2016-03-09 9:30 UTC (permalink / raw)
To: Peter Xu; +Cc: amit.shah, qemu-devel, quintela
On 09/03/2016 09:26, Peter Xu wrote:
>>> > > if ((rp_cmd_args[header_type].len != -1 &&
>>> > > header_len != rp_cmd_args[header_type].len) ||
>>> > > - header_len > max_len) {
>>> > > + header_len > sizeof(buf)) {
>> >
>> > sizeof works fine because buf is an array of bytes, but ARRAY_SIZE is
>> > better because it works for any type of buffer.
> I carefully chose "sizeof" out of "ARRAY_SIZE" as commented by Eric
> that, we'd better use sizeof() for char typed buffers.
>
> Will this be related to how header_len is defined? That's something
> I do not know... :( E.g., if it's defined as "length in bytes", then
> shall we better use sizeof() in all cases?
Oops, I was wrong. It's related to how header_len is used. header_len
here is clearly a size in bytes (it's passed to qemu_get_buffer), so the
patch is okay.
Paolo
> Anyway, I take my above question as trivial since current buffer is
> char typed.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-03-09 9:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-09 6:12 [Qemu-devel] [PATCH] migration: fix warning for source_return_path_thread Peter Xu
2016-03-09 7:54 ` Paolo Bonzini
2016-03-09 8:26 ` Peter Xu
2016-03-09 9:30 ` Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).