net: tls: reshuffle the device ops check
We try to validate during registration that the netdev has ops if it has features. This is currently somewhat sillily written because we have a dereference before a NULL check on the ops struct. Straighten this out. No functional change intended other than saving ourselves the very theoretical crash with a bad driver. Note that we check earlier in the function that either ops or TLS features are set for the device in question. Reviewed-by: Simon Horman <horms@kernel.org> Link: https://patch.msgid.link/20260429213001.1908235-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
1 parent
edf4bee421
commit
fa11b40480
1 file changed
+5
-6
@@ -1387,16 +1387,15 @@ static int tls_dev_event(struct notifier_block *this, unsigned long event,
|
||||
case NETDEV_FEAT_CHANGE:
|
||||
if (netif_is_bond_master(dev))
|
||||
return NOTIFY_DONE;
|
||||
if (!dev->tlsdev_ops ||
|
||||
!dev->tlsdev_ops->tls_dev_add ||
|
||||
!dev->tlsdev_ops->tls_dev_del)
|
||||
return NOTIFY_BAD;
|
||||
if ((dev->features & NETIF_F_HW_TLS_RX) &&
|
||||
!dev->tlsdev_ops->tls_dev_resync)
|
||||
return NOTIFY_BAD;
|
||||
|
||||
if (dev->tlsdev_ops &&
|
||||
dev->tlsdev_ops->tls_dev_add &&
|
||||
dev->tlsdev_ops->tls_dev_del)
|
||||
return NOTIFY_DONE;
|
||||
else
|
||||
return NOTIFY_BAD;
|
||||
return NOTIFY_DONE;
|
||||
case NETDEV_DOWN:
|
||||
return tls_device_down(dev);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user