search for: mlx5_vdpa_dev_del

Displaying 8 results from an estimated 8 matches for "mlx5_vdpa_dev_del".

2023 Jul 27
1
[PATCH] vdpa/mlx5: Fix crash on shutdown for when no ndev exists
...t; > ? > > > -???????free_irqs(ndev); > > > +???????if (ndev) > > > +???????????????free_irqs(ndev); > > > ?} > > > ? > > > > something I don't get: > > irqs are allocated in mlx5_vdpa_dev_add > > why are they not freed in mlx5_vdpa_dev_del? > > > That is a good point. I will try to find out. I also don't get why free_irq is > called in the vdpa dev .free op instead of mlx5_vdpa_dev_del. Maybe I can change > that in a different refactoring. as it is I have no idea whether e.g. ndev can change between these two cal...
2023 Jul 31
1
[PATCH] vdpa/mlx5: Fix crash on shutdown for when no ndev exists
...qs(ndev); > > > > +???????if (ndev) > > > > +???????????????free_irqs(ndev); > > > > ?} > > > > ? > > > > > > something I don't get: > > > irqs are allocated in mlx5_vdpa_dev_add > > > why are they not freed in mlx5_vdpa_dev_del? > > > > > That is a good point. I will try to find out. I also don't get why free_irq > > is > > called in the vdpa dev .free op instead of mlx5_vdpa_dev_del. Maybe I can > > change > > that in a different refactoring. > > as it is I have no idea...
2023 Jul 31
1
[PATCH] vdpa/mlx5: Fix crash on shutdown for when no ndev exists
...???if (ndev) > > > > > +???????????????free_irqs(ndev); > > > > > ?} > > > > > ? > > > > > > > > something I don't get: > > > > irqs are allocated in mlx5_vdpa_dev_add > > > > why are they not freed in mlx5_vdpa_dev_del? > > > > > > > That is a good point. I will try to find out. I also don't get why free_irq > > > is > > > called in the vdpa dev .free op instead of mlx5_vdpa_dev_del. Maybe I can > > > change > > > that in a different refactoring. >...
2023 Aug 01
1
[PATCH] vdpa/mlx5: Fix crash on shutdown for when no ndev exists
...> > + free_irqs(ndev); > > > > > > } > > > > > > > > > > > > > > > > something I don't get: > > > > > irqs are allocated in mlx5_vdpa_dev_add > > > > > why are they not freed in mlx5_vdpa_dev_del? > > > > > > > > > That is a good point. I will try to find out. I also don't get why free_irq > > > > is > > > > called in the vdpa dev .free op instead of mlx5_vdpa_dev_del. Maybe I can > > > > change > > > > that in a...
2023 Aug 01
1
[PATCH] vdpa/mlx5: Fix crash on shutdown for when no ndev exists
...irqs(ndev); > > > > > > > ?} > > > > > > > > > > > > > > > > > > > something I don't get: > > > > > > irqs are allocated in mlx5_vdpa_dev_add > > > > > > why are they not freed in mlx5_vdpa_dev_del? > > > > > > > > > > > That is a good point. I will try to find out. I also don't get why > > > > > free_irq > > > > > is > > > > > called in the vdpa dev .free op instead of mlx5_vdpa_dev_del. Maybe I > > >...
2023 Mar 17
0
[PATCH] vdpa/mlx5: Remove debugfs file after device unregister
...2 insertions(+), 2 deletions(-) > > diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c > index 3858ba1e8975..3f6149f2ffd4 100644 > --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c > +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c > @@ -3322,8 +3322,6 @@ static void mlx5_vdpa_dev_del(struct vdpa_mgmt_dev *v_mdev, struct vdpa_device * > struct mlx5_vdpa_net *ndev = to_mlx5_vdpa_ndev(mvdev); > struct workqueue_struct *wq; > > - mlx5_vdpa_remove_debugfs(ndev->debugfs); > - ndev->debugfs = NULL; > if (ndev->nb_registere...
2023 Jul 26
1
[PATCH] vdpa/mlx5: Fix crash on shutdown for when no ndev exists
The ndev was accessed on shutdown without a check if it actually exists. This triggered the crash pasted below. This patch simply adds a check before using ndev. BUG: kernel NULL pointer dereference, address: 0000000000000300 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] SMP CPU: 0 PID: 1 Comm: systemd-shutdow Not tainted
2023 Apr 03
0
[Patch v3] vdpa/mlx5: Avoid losing link state updates
...v->nb); > >> - ndev->nb_registered = true; > >> mvdev->vdev.mdev = &mgtdev->mgtdev; > >> err = _vdpa_register_device(&mvdev->vdev, max_vqs + 1); > >> if (err) > >> @@ -3318,10 +3345,7 @@ static void mlx5_vdpa_dev_del(struct vdpa_mgmt_dev *v_mdev, struct vdpa_device * > >> > >> mlx5_vdpa_remove_debugfs(ndev->debugfs); > >> ndev->debugfs = NULL; > >> - if (ndev->nb_registered) { > >> - ndev->nb_registered = false; >...