The adapter->vf_mvs.l list needs to be initialized even if the list is
empty.  Otherwise it will lead to crashes.

Fixes: a1cbb15c1397 ("ixgbe: Add macvlan support for VF")
Signed-off-by: Dan Carpenter <[email protected]>
---
v2: Use the correct fixes tag.  Thanks, Simon.

 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c 
b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
index a703ba975205..9cfdfa8a4355 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c
@@ -28,6 +28,9 @@ static inline void ixgbe_alloc_vf_macvlans(struct 
ixgbe_adapter *adapter,
        struct vf_macvlans *mv_list;
        int num_vf_macvlans, i;
 
+       /* Initialize list of VF macvlans */
+       INIT_LIST_HEAD(&adapter->vf_mvs.l);
+
        num_vf_macvlans = hw->mac.num_rar_entries -
                          (IXGBE_MAX_PF_MACVLANS + 1 + num_vfs);
        if (!num_vf_macvlans)
@@ -36,8 +39,6 @@ static inline void ixgbe_alloc_vf_macvlans(struct 
ixgbe_adapter *adapter,
        mv_list = kcalloc(num_vf_macvlans, sizeof(struct vf_macvlans),
                          GFP_KERNEL);
        if (mv_list) {
-               /* Initialize list of VF macvlans */
-               INIT_LIST_HEAD(&adapter->vf_mvs.l);
                for (i = 0; i < num_vf_macvlans; i++) {
                        mv_list[i].vf = -1;
                        mv_list[i].free = true;
-- 
2.39.2
_______________________________________________
Intel-wired-lan mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

Reply via email to