]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net/iucv: fix the allocation size of iucv_path_table array
authorAlexander Gordeev <agordeev@linux.ibm.com>
Wed, 14 Feb 2024 16:32:40 +0000 (17:32 +0100)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:21:46 +0000 (18:21 -0400)
[ 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>
net/iucv/iucv.c

index 6f84978a7726509ea301c13d8676f97c598a69de..ed0dbdbba4d94a142493fa75e8d33268de44bc63 100644 (file)
@@ -156,7 +156,7 @@ static char iucv_error_pathid[16] = "INVALID PATHID";
 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 unsigned long iucv_max_pathid;
@@ -542,7 +542,7 @@ static int iucv_enable(void)
 
        get_online_cpus();
        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);
        if (!iucv_path_table)
                goto out;