Re: [PATCH] dio: return -ENOMEM when kzalloc() fails

From: Greg KH
Date: Fri Jul 02 2021 - 10:44:19 EST


On Fri, Jul 02, 2021 at 02:31:14PM +0100, Salah Triki wrote:
> Return -ENOMEM when kzalloc() fails in order to inform the caller of the
> failure.
>
> Signed-off-by: Salah Triki <salah.triki@xxxxxxxxx>
> ---
> drivers/dio/dio.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/dio/dio.c b/drivers/dio/dio.c
> index 193b40e7aec0..4c06c93c93d3 100644
> --- a/drivers/dio/dio.c
> +++ b/drivers/dio/dio.c
> @@ -219,7 +219,7 @@ static int __init dio_init(void)
> /* Found a board, allocate it an entry in the list */
> dev = kzalloc(sizeof(struct dio_dev), GFP_KERNEL);
> if (!dev)
> - return 0;
> + return -ENOMEM;

Do you have this hardware to test with?

While this patch looks correct, it still is leaking lots of resources if
this every happens. Can you fix this up "properly" so that all of the
resources allocated at this point in time will be correctly freed?

Or, really, this is an impossible error path to hit, given that it is at
boot time, so maybe it's just not worth it given that I doubt anyone has
this hardware...

thanks,

greg k-h