diff mbox

[for,2.1] numa: handle mmaped memory allocation failure correctly

Message ID 1403000225-19812-1-git-send-email-imammedo@redhat.com
State New
Headers show

Commit Message

Igor Mammedov June 17, 2014, 10:17 a.m. UTC
when memory_region_init_ram_from_file() fails
memory_region_size() will still return size that was
provided at region init time.
Instead use errp to properly detect error condition.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
---
patch depends on current PCI tree that stages last NUMA series

 numa.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Michael S. Tsirkin June 17, 2014, 11:22 a.m. UTC | #1
On Tue, Jun 17, 2014 at 12:17:05PM +0200, Igor Mammedov wrote:
> when memory_region_init_ram_from_file() fails
> memory_region_size() will still return size that was
> provided at region init time.
> Instead use errp to properly detect error condition.
> 
> Signed-off-by: Igor Mammedov <imammedo@redhat.com>

Obviously correct, applied.
Thanks!

> ---
> patch depends on current PCI tree that stages last NUMA series
> 
>  numa.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/numa.c b/numa.c
> index eef0717..e471afe 100644
> --- a/numa.c
> +++ b/numa.c
> @@ -238,7 +238,7 @@ static void allocate_system_memory_nonnuma(MemoryRegion *mr, Object *owner,
>          /* Legacy behavior: if allocation failed, fall back to
>           * regular RAM allocation.
>           */
> -        if (!memory_region_size(mr)) {
> +        if (err) {
>              qerror_report_err(err);
>              error_free(err);
>              memory_region_init_ram(mr, owner, name, ram_size);
> -- 
> 1.7.1
diff mbox

Patch

diff --git a/numa.c b/numa.c
index eef0717..e471afe 100644
--- a/numa.c
+++ b/numa.c
@@ -238,7 +238,7 @@  static void allocate_system_memory_nonnuma(MemoryRegion *mr, Object *owner,
         /* Legacy behavior: if allocation failed, fall back to
          * regular RAM allocation.
          */
-        if (!memory_region_size(mr)) {
+        if (err) {
             qerror_report_err(err);
             error_free(err);
             memory_region_init_ram(mr, owner, name, ram_size);