[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5 2/7] xen/arm: make process_memory_node a device_tree_node_func



Hi Stefano,

On 14/08/2019 23:35, Stefano Stabellini wrote:
On Tue, 13 Aug 2019, Volodymyr Babchuk wrote:
@@ -162,6 +156,10 @@ static void __init process_memory_node(const void *fdt, 
int node,
          bootinfo.mem.bank[bootinfo.mem.nr_banks].size = size;
          bootinfo.mem.nr_banks++;
      }
+
+    if ( bootinfo.mem.nr_banks == NR_MEM_BANKS )
+        return -ENOSPC;
Are you sure that this logic is correct?

For example, if NR_MEM_BANKS is 1, and we have exactly one memory node
in device tree, this function will fail. But it should not. I think you
want this condition: bootinfo.mem.nr_banks > NR_MEM_BANKS

You are right, if NR_MEM_BANKS is 1 and we have 1 memory node in device
tree the code would return an error while actually it is normal.

I think the right check would be:

   if ( i < banks && bootinfo.mem.nr_banks == NR_MEM_BANKS )
       return -ENOSPC;

FWIW, this check looks good to me.

Cheers,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.