Re: [PATCH v6 1/2] axis-fifo: use devm_kasprintf() for allocating formatted strings

Greg Kroah-Hartman
2023-06-20T09:24:40Z

On Mon, Jun 19, 2023 at 09:52:44PM +0530, Prathu Baronia wrote:
> In various places, string buffers of a fixed size are allocated, and
> filled using snprintf() with the same fixed size, which is error-prone.
>
> Replace this by calling devm_kasprintf() instead, which always uses the
> appropriate size.
>
> Signed-off-by: Prathu Baronia <prathubaronia2011@gmail.com>
> ---
> V5 -> V6: Split into api change and name change commits
> V4 -> V5: Remove the dev_info() and use a unique identifier for dev name
> V3 -> V4: Split into warning fixing and cleanup commits
> V2 -> V3: Fix smatch warnings from kernel test robot
> V1 -> V2: Split into logical commits and fix commit message
>
> drivers/staging/axis-fifo/axis-fifo.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/staging/axis-fifo/axis-fifo.c b/drivers/staging/axis-fifo/axis-fifo.c
> index 7a21f2423204..7d8da9ce2db8 100644
> --- a/drivers/staging/axis-fifo/axis-fifo.c
> +++ b/drivers/staging/axis-fifo/axis-fifo.c
> @@ -816,10 +816,6 @@ static int axis_fifo_probe(struct platform_device *pdev)
> * ----------------------------
> */
>
> - device_name = devm_kzalloc(dev, 32, GFP_KERNEL);
> - if (!device_name)
> - return -ENOMEM;
> -
> /* allocate device wrapper memory */
> fifo = devm_kzalloc(dev, sizeof(*fifo), GFP_KERNEL);
> if (!fifo)
> @@ -857,7 +853,11 @@ static int axis_fifo_probe(struct platform_device *pdev)
> dev_dbg(fifo->dt_device, "remapped memory to 0x%p\n", fifo->base_addr);
>
> /* create unique device name */
> - snprintf(device_name, 32, "%s_%pa", DRIVER_NAME, &r_mem->start);
> + device_name = devm_kasprintf(dev, GFP_KERNEL, "%s_%p", DRIVER_NAME, &r_mem->start);

As Dan points out, you are changing the name here :(