lkml.org 
[lkml]   [2009]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 14/35] KVM: fix irq_source_id size verification
    Date
    From: Marcelo Tosatti <mtosatti@redhat.com>

    find_first_zero_bit works with bit numbers, not bytes.

    Fixes

    https://sourceforge.net/tracker/?func=detail&aid=2847560&group_id=180599&atid=893831

    Reported-by: "Xu, Jiajun" <jiajun.xu@intel.com>
    Cc: stable@kernel.org
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
    ---
    virt/kvm/irq_comm.c | 7 +++----
    1 files changed, 3 insertions(+), 4 deletions(-)

    diff --git a/virt/kvm/irq_comm.c b/virt/kvm/irq_comm.c
    index 00c68d2..0d454d3 100644
    --- a/virt/kvm/irq_comm.c
    +++ b/virt/kvm/irq_comm.c
    @@ -215,10 +215,9 @@ int kvm_request_irq_source_id(struct kvm *kvm)
    int irq_source_id;

    mutex_lock(&kvm->irq_lock);
    - irq_source_id = find_first_zero_bit(bitmap,
    - sizeof(kvm->arch.irq_sources_bitmap));
    + irq_source_id = find_first_zero_bit(bitmap, BITS_PER_LONG);

    - if (irq_source_id >= sizeof(kvm->arch.irq_sources_bitmap)) {
    + if (irq_source_id >= BITS_PER_LONG) {
    printk(KERN_WARNING "kvm: exhaust allocatable IRQ sources!\n");
    irq_source_id = -EFAULT;
    goto unlock;
    @@ -240,7 +239,7 @@ void kvm_free_irq_source_id(struct kvm *kvm, int irq_source_id)

    mutex_lock(&kvm->irq_lock);
    if (irq_source_id < 0 ||
    - irq_source_id >= sizeof(kvm->arch.irq_sources_bitmap)) {
    + irq_source_id >= BITS_PER_LONG) {
    printk(KERN_ERR "kvm: IRQ source ID out of range!\n");
    goto unlock;
    }
    --
    1.6.5.2


    \
     
     \ /
      Last update: 2009-11-19 14:47    [W:2.502 / U:0.676 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site