diff mbox

RDMA: Fix error exits (for 2.4)

Message ID 1436555332-19076-1-git-send-email-dgilbert@redhat.com
State New
Headers show

Commit Message

Dr. David Alan Gilbert July 10, 2015, 7:08 p.m. UTC
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

The error checks I added used 'break' after the error, but I'm
in a switch inside the while loop, so they need to be 'goto out'.

Spotted by coverity; entries 1311368 and 1311369

Fixes: afcddefd

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 migration/rdma.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Paolo Bonzini July 10, 2015, 9:10 p.m. UTC | #1
Juan, okay for me to pick it up together with a bunch of other Coverity
fixes?

Paolo

On 10/07/2015 21:08, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> 
> The error checks I added used 'break' after the error, but I'm
> in a switch inside the while loop, so they need to be 'goto out'.
> 
> Spotted by coverity; entries 1311368 and 1311369
> 
> Fixes: afcddefd
> 
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
>  migration/rdma.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/migration/rdma.c b/migration/rdma.c
> index f106b2a..74876fd 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -2997,7 +2997,7 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
>                               (unsigned int)comp->block_idx,
>                               rdma->local_ram_blocks.nb_blocks);
>                  ret = -EIO;
> -                break;
> +                goto out;
>              }
>              block = &(rdma->local_ram_blocks.block[comp->block_idx]);
>  
> @@ -3092,7 +3092,7 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
>                                   (unsigned int)reg->current_index,
>                                   rdma->local_ram_blocks.nb_blocks);
>                      ret = -ENOENT;
> -                    break;
> +                    goto out;
>                  }
>                  block = &(rdma->local_ram_blocks.block[reg->current_index]);
>                  if (block->is_ram_block) {
> @@ -3102,7 +3102,7 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
>                              block->block_name, block->offset,
>                              reg->key.current_addr);
>                          ret = -ERANGE;
> -                        break;
> +                        goto out;
>                      }
>                      host_addr = (block->local_host_addr +
>                                  (reg->key.current_addr - block->offset));
> @@ -3118,7 +3118,7 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
>                              " chunk: %" PRIx64,
>                              block->block_name, reg->key.chunk);
>                          ret = -ERANGE;
> -                        break;
> +                        goto out;
>                      }
>                  }
>                  chunk_start = ram_chunk_start(block, chunk);
>
Juan Quintela July 13, 2015, 8:03 a.m. UTC | #2
Paolo Bonzini <pbonzini@redhat.com> wrote:
> Juan, okay for me to pick it up together with a bunch of other Coverity
> fixes?

Yeap.

Thanks.

>
> Paolo
>
> On 10/07/2015 21:08, Dr. David Alan Gilbert (git) wrote:
>> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>> 
>> The error checks I added used 'break' after the error, but I'm
>> in a switch inside the while loop, so they need to be 'goto out'.
>> 
>> Spotted by coverity; entries 1311368 and 1311369
>> 
>> Fixes: afcddefd

You mangle the commit by hand?  Only letters?  Next time you will get
words, right? O:-)

>> 
>> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>> ---
>>  migration/rdma.c | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>> 
>> diff --git a/migration/rdma.c b/migration/rdma.c
>> index f106b2a..74876fd 100644
>> --- a/migration/rdma.c
>> +++ b/migration/rdma.c
>> @@ -2997,7 +2997,7 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
>>                               (unsigned int)comp->block_idx,
>>                               rdma->local_ram_blocks.nb_blocks);
>>                  ret = -EIO;
>> -                break;
>> +                goto out;
>>              }
>>              block = &(rdma->local_ram_blocks.block[comp->block_idx]);
>>  
>> @@ -3092,7 +3092,7 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
>>                                   (unsigned int)reg->current_index,
>>                                   rdma->local_ram_blocks.nb_blocks);
>>                      ret = -ENOENT;
>> -                    break;
>> +                    goto out;
>>                  }
>>                  block = &(rdma->local_ram_blocks.block[reg->current_index]);
>>                  if (block->is_ram_block) {
>> @@ -3102,7 +3102,7 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
>>                              block->block_name, block->offset,
>>                              reg->key.current_addr);
>>                          ret = -ERANGE;
>> -                        break;
>> +                        goto out;
>>                      }
>>                      host_addr = (block->local_host_addr +
>>                                  (reg->key.current_addr - block->offset));
>> @@ -3118,7 +3118,7 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
>>                              " chunk: %" PRIx64,
>>                              block->block_name, reg->key.chunk);
>>                          ret = -ERANGE;
>> -                        break;
>> +                        goto out;
>>                      }
>>                  }
>>                  chunk_start = ram_chunk_start(block, chunk);
>>
diff mbox

Patch

diff --git a/migration/rdma.c b/migration/rdma.c
index f106b2a..74876fd 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -2997,7 +2997,7 @@  static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
                              (unsigned int)comp->block_idx,
                              rdma->local_ram_blocks.nb_blocks);
                 ret = -EIO;
-                break;
+                goto out;
             }
             block = &(rdma->local_ram_blocks.block[comp->block_idx]);
 
@@ -3092,7 +3092,7 @@  static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
                                  (unsigned int)reg->current_index,
                                  rdma->local_ram_blocks.nb_blocks);
                     ret = -ENOENT;
-                    break;
+                    goto out;
                 }
                 block = &(rdma->local_ram_blocks.block[reg->current_index]);
                 if (block->is_ram_block) {
@@ -3102,7 +3102,7 @@  static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
                             block->block_name, block->offset,
                             reg->key.current_addr);
                         ret = -ERANGE;
-                        break;
+                        goto out;
                     }
                     host_addr = (block->local_host_addr +
                                 (reg->key.current_addr - block->offset));
@@ -3118,7 +3118,7 @@  static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque)
                             " chunk: %" PRIx64,
                             block->block_name, reg->key.chunk);
                         ret = -ERANGE;
-                        break;
+                        goto out;
                     }
                 }
                 chunk_start = ram_chunk_start(block, chunk);