net/iucv: fix the allocation size of iucv_path_table array

[ Upstream commit b4ea9b6a18ebf7f9f3a7a60f82e925186978cfcf ]

iucv_path_table is a dynamically allocated array of pointers to
struct iucv_path items. Yet, its size is calculated as if it was
an array of struct iucv_path items.

Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Reviewed-by: Alexandra Winter <wintera@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Alexander Gordeev 2024-02-14 17:32:40 +01:00 коммит произвёл Sasha Levin
Родитель e8a67fe34b
Коммит 59be50a37f
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -156,7 +156,7 @@ static char iucv_error_pathid[16] = "INVALID PATHID";
static LIST_HEAD(iucv_handler_list); static LIST_HEAD(iucv_handler_list);
/* /*
* iucv_path_table: an array of iucv_path structures. * iucv_path_table: array of pointers to iucv_path structures.
*/ */
static struct iucv_path **iucv_path_table; static struct iucv_path **iucv_path_table;
static unsigned long iucv_max_pathid; static unsigned long iucv_max_pathid;
@ -544,7 +544,7 @@ static int iucv_enable(void)
cpus_read_lock(); cpus_read_lock();
rc = -ENOMEM; rc = -ENOMEM;
alloc_size = iucv_max_pathid * sizeof(struct iucv_path); alloc_size = iucv_max_pathid * sizeof(*iucv_path_table);
iucv_path_table = kzalloc(alloc_size, GFP_KERNEL); iucv_path_table = kzalloc(alloc_size, GFP_KERNEL);
if (!iucv_path_table) if (!iucv_path_table)
goto out; goto out;