net: psp: use psp_dev_is_registered() in psp_assoc_free()

No functional changes.

In code paths that use a psp_dev reference that wasn't obtained from
the psp_devs xarray, e.g. not via psp_device_get_and_lock(), there is
no guarantee that the psp_dev has not been unregistered. The check
here is correct, but it doesn't match other code paths that use
psp_dev_is_registered().

Commit b89769f936 ("net: psp: check for device unregister when
creating assoc") is an example of a fix that adds a check for this
after locking a psp_dev. if (psp_dev_is_registered(psd)) vs if
(psd->ops) makes it clear what we are really checking for.

Signed-off-by: Daniel Zahka <daniel.zahka@gmail.com>
Link: https://patch.msgid.link/20260814-psp-dev-is-reg-v1-1-5029e1f1eb01@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Daniel Zahka
2026-08-14 04:44:06 -07:00
committed by Jakub Kicinski
parent 96bf660d4c
commit cf85f810f9

View File

@@ -96,7 +96,7 @@ static void psp_assoc_free(struct work_struct *work)
struct psp_dev *psd = pas->psd;
mutex_lock(&psd->lock);
if (psd->ops)
if (psp_dev_is_registered(psd))
psp_dev_tx_key_del(psd, pas);
mutex_unlock(&psd->lock);
psp_dev_put(psd);