sfc: support for devlink port requires MAE access
authorMartin Habets <habetsm.xilinx@gmail.com>
Wed, 28 Jun 2023 12:32:20 +0000 (13:32 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 29 Jun 2023 18:10:27 +0000 (11:10 -0700)
On systems without MAE permission efx->mae is not initialised,
and trying to lookup an mport results in a NULL pointer
dereference.

Fixes: 25414b2a64ae ("sfc: add devlink port support for ef100")
Signed-off-by: Martin Habets <habetsm.xilinx@gmail.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/sfc/efx_devlink.c

index b82dad5..3cd7508 100644 (file)
@@ -626,6 +626,9 @@ static struct devlink_port *ef100_set_devlink_port(struct efx_nic *efx, u32 idx)
        u32 id;
        int rc;
 
+       if (!efx->mae)
+               return NULL;
+
        if (efx_mae_lookup_mport(efx, idx, &id)) {
                /* This should not happen. */
                if (idx == MAE_MPORT_DESC_VF_IDX_NULL)