wifi: iwlwifi: Validate slots_num before allocating memory
authorAnjaneyulu <pagadala.yesu.anjaneyulu@intel.com>
Wed, 14 Jun 2023 09:41:36 +0000 (12:41 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 19 Jun 2023 10:05:26 +0000 (12:05 +0200)
Verify slots_num is valid in iwl_txq_alloc()

Signed-off-by: Anjaneyulu <pagadala.yesu.anjaneyulu@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230614123447.90be48017c1b.I880e451e137c5cd688d5f38b573b0dbf352762b3@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/queue/tx.c

index d1c39c2..245bff0 100644 (file)
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
 /*
- * Copyright (C) 2020-2022 Intel Corporation
+ * Copyright (C) 2020-2023 Intel Corporation
  */
 #include <net/tso.h>
 #include <linux/tcp.h>
@@ -1027,6 +1027,9 @@ int iwl_txq_alloc(struct iwl_trans *trans, struct iwl_txq *txq, int slots_num,
        size_t tb0_buf_sz;
        int i;
 
+       if (WARN_ONCE(slots_num <= 0, "Invalid slots num:%d\n", slots_num))
+               return -EINVAL;
+
        if (WARN_ON(txq->entries || txq->tfds))
                return -EINVAL;