25 lines
847 B
Diff
25 lines
847 B
Diff
|
# Commit 5d160d913e03b581bdddde73535c18ac670cf0a9
|
||
|
# Date 2014-02-24 12:11:01 +0100
|
||
|
# Author Jan Beulich <jbeulich@suse.com>
|
||
|
# Committer Jan Beulich <jbeulich@suse.com>
|
||
|
x86/MSI: don't risk division by zero
|
||
|
|
||
|
The check in question is redundant with the one in the immediately
|
||
|
following if(), where dividing by zero gets carefully avoided.
|
||
|
|
||
|
Spotted-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
|
||
|
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
||
|
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
|
||
|
|
||
|
--- a/xen/arch/x86/msi.c
|
||
|
+++ b/xen/arch/x86/msi.c
|
||
|
@@ -636,7 +636,7 @@ static u64 read_pci_mem_bar(u16 seg, u8
|
||
|
return 0;
|
||
|
base = pos + PCI_SRIOV_BAR;
|
||
|
vf -= PCI_BDF(bus, slot, func) + offset;
|
||
|
- if ( vf < 0 || (vf && vf % stride) )
|
||
|
+ if ( vf < 0 )
|
||
|
return 0;
|
||
|
if ( stride )
|
||
|
{
|