Re: [PATCH] tg3: Use slab_build_skb() when needed

From: Pavan Chebbi
Date: Mon Aug 21 2023 - 00:00:33 EST


On Fri, Aug 18, 2023 at 11:24 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>
> The tg3 driver will use kmalloc() under some conditions. Check the
> frag_size and use slab_build_skb() when frag_size is 0. Silences
> the warning introduced by commit ce098da1497c ("skbuff: Introduce
> slab_build_skb()"):
>
> Use slab_build_skb() instead
> ...
> tg3_poll_work+0x638/0xf90 [tg3]
>
> Reported-by: Fiona Ebner <f.ebner@xxxxxxxxxxx>
> Closes: https://lore.kernel.org/all/1bd4cb9c-4eb8-3bdb-3e05-8689817242d1@xxxxxxxxxxx
> Cc: Siva Reddy Kallam <siva.kallam@xxxxxxxxxxxx>
> Cc: Prashant Sreedharan <prashant@xxxxxxxxxxxx>
> Cc: Michael Chan <mchan@xxxxxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
> Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
> Cc: Paolo Abeni <pabeni@xxxxxxxxxx>
> Cc: Bagas Sanjaya <bagasdotme@xxxxxxxxx>
> Cc: netdev@xxxxxxxxxxxxxxx
> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> ---
> drivers/net/ethernet/broadcom/tg3.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
> index 5ef073a79ce9..cb2810f175cc 100644
> --- a/drivers/net/ethernet/broadcom/tg3.c
> +++ b/drivers/net/ethernet/broadcom/tg3.c
> @@ -6881,7 +6881,10 @@ static int tg3_rx(struct tg3_napi *tnapi, int budget)
>
> ri->data = NULL;
>
> - skb = build_skb(data, frag_size);
> + if (frag_size)
> + skb = build_skb(data, frag_size);
> + else
> + skb = slab_build_skb(data);
> if (!skb) {
> tg3_frag_free(frag_size != 0, data);
> goto drop_it_no_recycle;
> --
> 2.34.1
>
>

Thanks. LGTM.
Reviewed-by: Pavan Chebbi <pavan.chebbi@xxxxxxxxxxxx>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature