On 14.02.24 17:32, Alexander Gordeev wrote: > 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@xxxxxxxxxxxxx> > --- > net/iucv/iucv.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/net/iucv/iucv.c b/net/iucv/iucv.c > index 9e62783e6acb..5b56ae6612dd 100644 > --- a/net/iucv/iucv.c > +++ b/net/iucv/iucv.c > @@ -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; > @@ -545,7 +545,7 @@ static int iucv_enable(void) > > cpus_read_lock(); > 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; Reviewed-by: Alexandra Winter <wintera@xxxxxxxxxxxxx> Good catch, thank you. As we allocate a more than we need, I don't this needs to be backported to stable. Do you agree?