RE: [PATCH net v2] idpf: Fix vport IRQ name leak on request failure

From: Romanowski, Rafal

Date: Mon Nov 02 2026 - 05:54:21 EST


> -----Original Message-----
> From: Loktionov, Aleksandr <aleksandr.loktionov@xxxxxxxxx>
> Sent: Monday, October 5, 2026 12:22 PM
> To: Yuho Choi <oss.patchbox@xxxxxxxxx>; Nguyen, Anthony L
> <anthony.l.nguyen@xxxxxxxxx>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@xxxxxxxxx>
> Cc: Simon Horman <horms@xxxxxxxxxx>; Lobakin, Aleksander
> <aleksander.lobakin@xxxxxxxxx>; Hay, Joshua A <joshua.a.hay@xxxxxxxxx>; Alan
> Brady <alan.brady@xxxxxxxxx>; Samudrala, Sridhar
> <sridhar.samudrala@xxxxxxxxx>; Burra, Phani R <phani.r.burra@xxxxxxxxx>;
> Andrew Lunn <andrew+netdev@xxxxxxx>; David S . Miller
> <davem@xxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Jakub Kicinski
> <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; intel-wired-
> lan@xxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: RE: [PATCH net v2] idpf: Fix vport IRQ name leak on request failure
>
>
>
> > -----Original Message-----
> > From: Yuho Choi <oss.patchbox@xxxxxxxxx>
> > Sent: Sunday, October 4, 2026 8:09 PM
> > To: Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; Kitszel,
> > Przemyslaw <przemyslaw.kitszel@xxxxxxxxx>
> > Cc: Simon Horman <horms@xxxxxxxxxx>; Lobakin, Aleksander
> > <aleksander.lobakin@xxxxxxxxx>; Hay, Joshua A
> > <joshua.a.hay@xxxxxxxxx>; Alan Brady <alan.brady@xxxxxxxxx>;
> > Samudrala, Sridhar <sridhar.samudrala@xxxxxxxxx>; Burra, Phani R
> > <phani.r.burra@xxxxxxxxx>; Andrew Lunn <andrew+netdev@xxxxxxx>; David
> > S . Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>;
> > Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>;
> > intel-wired-lan@xxxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx; Yuho Choi <oss.patchbox@xxxxxxxxx>
> > Subject: [PATCH net v2] idpf: Fix vport IRQ name leak on request
> > failure
> >
> > idpf_vport_intr_req_irq() allocates a name for each vector IRQ before
> > calling request_irq(). On success, the name is released later through
> > kfree(free_irq()), but when request_irq() fails, the error path only
> > unwinds the previous vectors and the name for the failed one is
> > leaked.
> >
> > Free the allocated name on the request_irq() failure path, as done for
> > the mailbox IRQ in commit 9bff30482c10 ("idpf: Fix mailbox IRQ name
> > leak on request failure"). While at it, fail with -ENOMEM when the
> > name cannot be allocated instead of requesting the IRQ without a name.
> >
> > Fixes: d4d558718266 ("idpf: initialize interrupts and enable vport")
> > Signed-off-by: Yuho Choi <oss.patchbox@xxxxxxxxx>
> > ---
> > Changes in v2:
> > - Correct the Fixes: tag (Simon Horman)
> > - Handle kasprintf() failure (Simon Horman)
> >
> > v1: https://lore.kernel.org/all/20260923234819.702327-1-
> > oss.patchbox@xxxxxxxxx/
> >
> > Compile-tested only (x86_64 defconfig + CONFIG_IDPF=m, W=1).
> >
> > drivers/net/ethernet/intel/idpf/idpf_txrx.c | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c
> > b/drivers/net/ethernet/intel/idpf/idpf_txrx.c
> > index 4311ffa30bb1..af3213eae393 100644
> > --- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c
> > +++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c
> > @@ -4067,12 +4067,17 @@ static int idpf_vport_intr_req_irq(struct
> > idpf_vport *vport,
> >
> > name = kasprintf(GFP_KERNEL, "%s-%s-%s-%d", drv_name,
> if_name,
> > vec_name, vector);
> > + if (!name) {
> > + err = -ENOMEM;
> > + goto free_q_irqs;
> > + }
> >
> > err = request_irq(irq_num, idpf_vport_intr_clean_queues, 0,
> > name, q_vector);
> > if (err) {
> > netdev_err(vport->netdev,
> > "Request_irq failed, error: %d\n", err);
> > + kfree(name);
> > goto free_q_irqs;
> > }
> >
> >
> > base-commit: 551c722f40809618230001baccf219193e22fc5a
> > --
> > 2.43.0
>
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@xxxxxxxxx>


Tested-by: Rafal Romanowski <rafal.romanowski@xxxxxxxxx>