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

From: Dave Penkler
Date: Wed Apr 16 2025 - 10:24:21 EST


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 <braker.noob.kernel@xxxxxxxxx>
> ---
> 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