mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-23 06:14:42 +08:00
be2net: Avoid accessing eq object in be_msix_register routine, when i < 0.
When the first request_irq fails in be_msix_register, i value would be zero. The current code decrements the i value and accesses the eq object without validating the decremented "i" value. This can cause an "invalid memory address access" violation. This patch fixes the problem by accessing the eq object after validating the "i" value. Signed-off-by: Venkat Duvvuru <venkatkumar.duvvuru@avagotech.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
6be842f7cc
commit
6e3cd5fa65
@ -3299,8 +3299,10 @@ static int be_msix_register(struct be_adapter *adapter)
|
||||
|
||||
return 0;
|
||||
err_msix:
|
||||
for (i--, eqo = &adapter->eq_obj[i]; i >= 0; i--, eqo--)
|
||||
for (i--; i >= 0; i--) {
|
||||
eqo = &adapter->eq_obj[i];
|
||||
free_irq(be_msix_vec_get(adapter, eqo), eqo);
|
||||
}
|
||||
dev_warn(&adapter->pdev->dev, "MSIX Request IRQ failed - err %d\n",
|
||||
status);
|
||||
be_msix_disable(adapter);
|
||||
|
Loading…
Reference in New Issue
Block a user