KVM: S390: fix potential array overrun in intercept handling
authorChristian Borntraeger <borntraeger@de.ibm.com>
Thu, 21 Jan 2010 11:19:07 +0000 (12:19 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 28 Jan 2010 23:20:41 +0000 (15:20 -0800)
commit244e540e0c37b917a62e56e733c10fb7c85767ce
treed65216526578619d0ccf7b50ba9ac3936cebf85a
parentf653e714dfd24c86d63e6f661a61cd167a2535e6
KVM: S390: fix potential array overrun in intercept handling

commit 062d5e9b0d714f449b261bb522eadaaf6f00f438 upstream.

kvm_handle_sie_intercept uses a jump table to get the intercept handler
for a SIE intercept. Static code analysis revealed a potential problem:
the intercept_funcs jump table was defined to contain (0x48 >> 2) entries,
but we only checked for code > 0x48 which would cause an off-by-one
array overflow if code == 0x48.

Use the compiler and ARRAY_SIZE to automatically set the limits.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/s390/kvm/intercept.c