Re: [FIRST-PATCH] staging : gpib : agilent_82350b : agilent_82350b.c : fixes checks on the file

Dave Penkler <[email protected]> Wed, 16 Apr 2025 16:12:12 +0200
Newsgroups dev.linux.lists.outreachy,dev.linux.lists.linux-staging,org.kernel.vger.linux-kernel
Message-ID <Z_-6vAXbsveDqzKK@egonzo>
On Wed, Apr 16, 2025 at 06:19:11PM +0530, Rujra Bhatt wrote:
> It has recommended to
> Prefer kzalloc(sizeof(*board->private_data)...)
> over kzalloc(sizeof(struct agilent_82350b_priv)...)
> 
> Signed-off-by: Rujra Bhatt <[email protected]>
> ---
>  drivers/staging/gpib/agilent_82350b/agilent_82350b.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/gpib/agilent_82350b/agilent_82350b.c b/drivers/staging/gpib/agilent_82350b/agilent_82350b.c
> index 445b9380ff98..956e21886eb6 100644
> --- a/drivers/staging/gpib/agilent_82350b/agilent_82350b.c
> +++ b/drivers/staging/gpib/agilent_82350b/agilent_82350b.c
> @@ -479,7 +479,7 @@ static void agilent_82350b_return_to_local(struct gpib_board *board)
>  
>  static int agilent_82350b_allocate_private(struct gpib_board *board)
>  {
> -	board->private_data = kzalloc(sizeof(struct agilent_82350b_priv), GFP_KERNEL);
> +	board->private_data = kzalloc(sizeof(struct * board->private_data), GFP_KERNEL);
>  	if (!board->private_data)
>  		return -ENOMEM;
>  	return 0;
> -- 
> 2.43.0
> 
This will not work and the recommendation in this case is also wrong:
kzalloc(sizeof(*board->private_data)...) only allocates space
for a void *, not enough to hold the agilent_82350b_priv struct.
cheers,
-dave