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:
Родитель
e8a67fe34b
Коммит
59be50a37f
|
@ -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;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче