pds_core: protect devlink callbacks from fw_down state
authorShannon Nelson <shannon.nelson@amd.com>
Thu, 24 Aug 2023 16:17:50 +0000 (09:17 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 26 Aug 2023 02:05:58 +0000 (19:05 -0700)
Don't access structs that have been cleared when in the fw_down
state and the various structs have been cleaned and are waiting
to recover.  This caused a panic on rmmod when already in fw_down
and devlink_param_unregister() tried to check the parameters.

Fixes: 40ced8944536 ("pds_core: devlink params for enabling VIF support")
Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20230824161754.34264-2-shannon.nelson@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/amd/pds_core/devlink.c

index 9c6b365..d960703 100644 (file)
@@ -10,6 +10,9 @@ pdsc_viftype *pdsc_dl_find_viftype_by_id(struct pdsc *pdsc,
 {
        int vt;
 
+       if (!pdsc->viftype_status)
+               return NULL;
+
        for (vt = 0; vt < PDS_DEV_TYPE_MAX; vt++) {
                if (pdsc->viftype_status[vt].dl_id == dl_id)
                        return &pdsc->viftype_status[vt];