提交 e9a1de37 编写于 作者: A Arthur Kiyanovski 提交者: David S. Miller

net: ena: fix error returning in ena_com_get_hash_function()

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: NSameeh Jubran <sameehj@amazon.com>
Signed-off-by: NArthur Kiyanovski <akiyano@amazon.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 80f8443f
...@@ -2347,6 +2347,9 @@ int ena_com_get_hash_function(struct ena_com_dev *ena_dev, ...@@ -2347,6 +2347,9 @@ int ena_com_get_hash_function(struct ena_com_dev *ena_dev,
rss->hash_key; rss->hash_key;
int rc; int rc;
if (unlikely(!func))
return -EINVAL;
rc = ena_com_get_feature_ex(ena_dev, &get_resp, rc = ena_com_get_feature_ex(ena_dev, &get_resp,
ENA_ADMIN_RSS_HASH_FUNCTION, ENA_ADMIN_RSS_HASH_FUNCTION,
rss->hash_key_dma_addr, rss->hash_key_dma_addr,
...@@ -2359,8 +2362,7 @@ int ena_com_get_hash_function(struct ena_com_dev *ena_dev, ...@@ -2359,8 +2362,7 @@ int ena_com_get_hash_function(struct ena_com_dev *ena_dev,
if (rss->hash_func) if (rss->hash_func)
rss->hash_func--; rss->hash_func--;
if (func) *func = rss->hash_func;
*func = rss->hash_func;
if (key) if (key)
memcpy(key, hash_key->key, (size_t)(hash_key->keys_num) << 2); memcpy(key, hash_key->key, (size_t)(hash_key->keys_num) << 2);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册