[1/1] migration: mmap error check fix
diff mbox

Message ID 1469785705-16670-1-git-send-email-den@openvz.org
State New
Headers show

Commit Message

Denis V. Lunev July 29, 2016, 9:48 a.m. UTC
From: Evgeny Yakovlev <eyakovlev@virtuozzo.com>

mmap man page:
"On success, mmap() returns a pointer to the mapped area. On error, the
value MAP_FAILED (that is, (void *) -1) is returned, and errno  is  set
to indicate the cause of the error."

The check in postcopy_get_tmp_page is definitely wrong and should be
fixed.

Signed-off-by: Evgeny Yakovlev <eyakovlev@virtuozzo.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Juan Quintela <quintela@redhat.com>
CC: Amit Shah <amit.shah@redhat.com>
---
 migration/postcopy-ram.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Amit Shah July 29, 2016, 10:42 a.m. UTC | #1
On (Fri) 29 Jul 2016 [12:48:25], Denis V. Lunev wrote:
> From: Evgeny Yakovlev <eyakovlev@virtuozzo.com>
> 
> mmap man page:
> "On success, mmap() returns a pointer to the mapped area. On error, the
> value MAP_FAILED (that is, (void *) -1) is returned, and errno  is  set
> to indicate the cause of the error."
> 
> The check in postcopy_get_tmp_page is definitely wrong and should be
> fixed.
> 
> Signed-off-by: Evgeny Yakovlev <eyakovlev@virtuozzo.com>
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Juan Quintela <quintela@redhat.com>
> CC: Amit Shah <amit.shah@redhat.com>

Reviewed-by: Amit Shah <amit.shah@redhat.com>

		Amit
Dr. David Alan Gilbert (git) July 29, 2016, 10:43 a.m. UTC | #2
* Denis V. Lunev (den@openvz.org) wrote:
> From: Evgeny Yakovlev <eyakovlev@virtuozzo.com>
> 
> mmap man page:
> "On success, mmap() returns a pointer to the mapped area. On error, the
> value MAP_FAILED (that is, (void *) -1) is returned, and errno  is  set
> to indicate the cause of the error."
> 
> The check in postcopy_get_tmp_page is definitely wrong and should be
> fixed.

Oops, nice spot!

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> Signed-off-by: Evgeny Yakovlev <eyakovlev@virtuozzo.com>
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Juan Quintela <quintela@redhat.com>
> CC: Amit Shah <amit.shah@redhat.com>
> ---
>  migration/postcopy-ram.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
> index abe8c60..e761f3c 100644
> --- a/migration/postcopy-ram.c
> +++ b/migration/postcopy-ram.c
> @@ -604,7 +604,8 @@ void *postcopy_get_tmp_page(MigrationIncomingState *mis)
>          mis->postcopy_tmp_page = mmap(NULL, getpagesize(),
>                               PROT_READ | PROT_WRITE, MAP_PRIVATE |
>                               MAP_ANONYMOUS, -1, 0);
> -        if (!mis->postcopy_tmp_page) {
> +        if (mis->postcopy_tmp_page == MAP_FAILED) {
> +            mis->postcopy_tmp_page = NULL;
>              error_report("%s: %s", __func__, strerror(errno));
>              return NULL;
>          }
> -- 
> 2.7.4
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

Patch
diff mbox

diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c
index abe8c60..e761f3c 100644
--- a/migration/postcopy-ram.c
+++ b/migration/postcopy-ram.c
@@ -604,7 +604,8 @@  void *postcopy_get_tmp_page(MigrationIncomingState *mis)
         mis->postcopy_tmp_page = mmap(NULL, getpagesize(),
                              PROT_READ | PROT_WRITE, MAP_PRIVATE |
                              MAP_ANONYMOUS, -1, 0);
-        if (!mis->postcopy_tmp_page) {
+        if (mis->postcopy_tmp_page == MAP_FAILED) {
+            mis->postcopy_tmp_page = NULL;
             error_report("%s: %s", __func__, strerror(errno));
             return NULL;
         }