]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: ena: fix error returning in ena_com_get_hash_function()
authorArthur Kiyanovski <akiyano@amazon.com>
Sun, 3 May 2020 09:52:11 +0000 (09:52 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 3 May 2020 22:59:29 +0000 (15:59 -0700)
In case the "func" parameter is NULL we now return "-EINVAL".
This shouldn't happen in general, but when it does happen, this is the
proper way to handle it.

We also check func for NULL in the beginning of the function, as there
is no reason to do all the work and realize in the end of the function
it was useless.

Signed-off-by: Sameeh Jubran <sameehj@amazon.com>
Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amazon/ena/ena_com.c

index 424ba08955e93ae101337f65eb0f5e6d02f6a05c..66edc86c41c9437aff568f742c1173c79c0cf19c 100644 (file)
@@ -2347,6 +2347,9 @@ int ena_com_get_hash_function(struct ena_com_dev *ena_dev,
                rss->hash_key;
        int rc;
 
+       if (unlikely(!func))
+               return -EINVAL;
+
        rc = ena_com_get_feature_ex(ena_dev, &get_resp,
                                    ENA_ADMIN_RSS_HASH_FUNCTION,
                                    rss->hash_key_dma_addr,
@@ -2359,8 +2362,7 @@ int ena_com_get_hash_function(struct ena_com_dev *ena_dev,
        if (rss->hash_func)
                rss->hash_func--;
 
-       if (func)
-               *func = rss->hash_func;
+       *func = rss->hash_func;
 
        if (key)
                memcpy(key, hash_key->key, (size_t)(hash_key->keys_num) << 2);