i40evf: ethtool RSS fixes
Add an extra check to make sure that the indirection table pointer is valid before dereferencing it. Change-ID: I698adbf3daff03081d01f489dc95a9f1ad8b12f1 Reported-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
66ddcffb1a
commit
ed250ecc55
1 changed files with 8 additions and 6 deletions
|
@ -642,12 +642,14 @@ static int i40evf_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
|
||||||
if (!indir)
|
if (!indir)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
for (i = 0, j = 0; i <= I40E_VFQF_HLUT_MAX_INDEX; i++) {
|
if (indir) {
|
||||||
hlut_val = rd32(hw, I40E_VFQF_HLUT(i));
|
for (i = 0, j = 0; i <= I40E_VFQF_HLUT_MAX_INDEX; i++) {
|
||||||
indir[j++] = hlut_val & 0xff;
|
hlut_val = rd32(hw, I40E_VFQF_HLUT(i));
|
||||||
indir[j++] = (hlut_val >> 8) & 0xff;
|
indir[j++] = hlut_val & 0xff;
|
||||||
indir[j++] = (hlut_val >> 16) & 0xff;
|
indir[j++] = (hlut_val >> 8) & 0xff;
|
||||||
indir[j++] = (hlut_val >> 24) & 0xff;
|
indir[j++] = (hlut_val >> 16) & 0xff;
|
||||||
|
indir[j++] = (hlut_val >> 24) & 0xff;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue