RE: [Intel-wired-lan] [PATCH iwl-net] idpf: fix aux device unplugging when rdma is not supported by vport

From: Loktionov, Aleksandr
Date: Mon Nov 17 2025 - 02:29:07 EST




> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf
> Of Larysa Zaremba
> Sent: Monday, November 17, 2025 8:04 AM
> To: Nguyen, Anthony L <anthony.l.nguyen@xxxxxxxxx>; intel-wired-
> lan@xxxxxxxxxxxxxxxx
> Cc: Zaremba, Larysa <larysa.zaremba@xxxxxxxxx>; Kitszel, Przemyslaw
> <przemyslaw.kitszel@xxxxxxxxx>; Andrew Lunn <andrew+netdev@xxxxxxx>;
> David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet
> <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni
> <pabeni@xxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Tantilov, Emil S <emil.s.tantilov@xxxxxxxxx>;
> Chittim, Madhu <madhu.chittim@xxxxxxxxx>; Hay, Joshua A
> <joshua.a.hay@xxxxxxxxx>
> Subject: [Intel-wired-lan] [PATCH iwl-net] idpf: fix aux device
> unplugging when rdma is not supported by vport
>
> If vport flags do not contain VIRTCHNL2_VPORT_ENABLE_RDMA, driver does
> not allocate vdev_info for this vport. This leads to kernel NULL
> pointer dereference in idpf_idc_vport_dev_down(), which references
> vdev_info for every vport regardless.
>
> Check, if vdev_info was ever allocated before unplugging aux device.
>
> Fixes: be91128c579c ("idpf: implement RDMA vport auxiliary dev create,
> init, and destroy")
> Reviewed-by: Madhu Chittim <madhu.chittim@xxxxxxxxx>
> Signed-off-by: Larysa Zaremba <larysa.zaremba@xxxxxxxxx>
> ---
> drivers/net/ethernet/intel/idpf/idpf_idc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/idpf/idpf_idc.c
> b/drivers/net/ethernet/intel/idpf/idpf_idc.c
> index c1b963f6bfad..4b1037eb2623 100644
> --- a/drivers/net/ethernet/intel/idpf/idpf_idc.c
> +++ b/drivers/net/ethernet/intel/idpf/idpf_idc.c
> @@ -322,7 +322,7 @@ static void idpf_idc_vport_dev_down(struct
> idpf_adapter *adapter)
> for (i = 0; i < adapter->num_alloc_vports; i++) {
> struct idpf_vport *vport = adapter->vports[i];
>
> - if (!vport)
> + if (!vport || !vport->vdev_info)
> continue;
>
> idpf_unplug_aux_dev(vport->vdev_info->adev);
> --
> 2.47.0

Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@xxxxxxxxx>