diff options
| author | Vitaliy Shevtsov <v.shevtsov@mt-integration.ru> | 2025-02-27 23:46:27 +0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-03-13 12:53:16 +0100 |
| commit | 29e0cd296c87240278e2f7ea4cf3f496b60c03af (patch) | |
| tree | adc0a508c836685521d25d15adca062358154ee6 /drivers | |
| parent | e8db70537878e1bb3fd83e5abcc6feefc0587828 (diff) | |
| download | linux-29e0cd296c87240278e2f7ea4cf3f496b60c03af.tar.gz linux-29e0cd296c87240278e2f7ea4cf3f496b60c03af.tar.bz2 linux-29e0cd296c87240278e2f7ea4cf3f496b60c03af.zip | |
caif_virtio: fix wrong pointer check in cfv_probe()
[ Upstream commit a466fd7e9fafd975949e5945e2f70c33a94b1a70 ]
del_vqs() frees virtqueues, therefore cfv->vq_tx pointer should be checked
for NULL before calling it, not cfv->vdev. Also the current implementation
is redundant because the pointer cfv->vdev is dereferenced before it is
checked for NULL.
Fix this by checking cfv->vq_tx for NULL instead of cfv->vdev before
calling del_vqs().
Fixes: 0d2e1a2926b1 ("caif_virtio: Introduce caif over virtio")
Signed-off-by: Vitaliy Shevtsov <v.shevtsov@mt-integration.ru>
Reviewed-by: Gerhard Engleder <gerhard@engleder-embedded.com>
Link: https://patch.msgid.link/20250227184716.4715-1-v.shevtsov@mt-integration.ru
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/caif/caif_virtio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/caif/caif_virtio.c b/drivers/net/caif/caif_virtio.c index 0b0f234b0b50..a8b9ada7526c 100644 --- a/drivers/net/caif/caif_virtio.c +++ b/drivers/net/caif/caif_virtio.c @@ -745,7 +745,7 @@ err: if (cfv->vr_rx) vdev->vringh_config->del_vrhs(cfv->vdev); - if (cfv->vdev) + if (cfv->vq_tx) vdev->config->del_vqs(cfv->vdev); free_netdev(netdev); return err; |
