OSDN Git Service

devlink: Compare to size_new in case of resource child validation
authorArkadi Sharshevsky <arkadis@mellanox.com>
Mon, 26 Feb 2018 09:59:53 +0000 (10:59 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Feb 2018 15:53:02 +0000 (10:53 -0500)
The current implementation checks the combined size of the children with
the 'size' of the parent. The correct behavior is to check the combined
size vs the pending change and to compare vs the 'size_new'.

Fixes: d9f9b9a4d05f ("devlink: Add support for resource abstraction")
Signed-off-by: Arkadi Sharshevsky <arkadis@mellanox.com>
Tested-by: Yuval Mintz <yuvalm@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/devlink.c

index 18d385e..92aad7c 100644 (file)
@@ -2332,7 +2332,7 @@ devlink_resource_validate_children(struct devlink_resource *resource)
        list_for_each_entry(child_resource, &resource->resource_list, list)
                parts_size += child_resource->size_new;
 
-       if (parts_size > resource->size)
+       if (parts_size > resource->size_new)
                size_valid = false;
 out:
        resource->size_valid = size_valid;