Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp761215pxv; Thu, 1 Jul 2021 08:42:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw14Pcyo0h7nd+6YxvT7tjElR0U4sLBMMH81xIuQZSPhbO8u6fDRDESuvFXtxxmiauXyTQT X-Received: by 2002:a05:6402:144e:: with SMTP id d14mr555626edx.339.1625154157882; Thu, 01 Jul 2021 08:42:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625154157; cv=none; d=google.com; s=arc-20160816; b=YMsO63QYxJlK5NpO9j40rHC70lJQc1X48gcawty67DIrDbGIF/2dLOStfWSaLI4/zG EjhxQrJQBH2MjyIu/eyGUpKXcQMHipg0gwrTbq4bMH1xovjPJlTT+t14iZxZRcK6S2Pg AM6fyKZCVHzmca8Ca/UuDCk1wBWOMpSK7TRJlwsJWY7tszXiVzjiGb0GD4xYOArWUBcx oVijvhWF9H69yhXtaGwbwdklitg0i+p/9Sho1SCyQ2t4CcpH8nCFxjatnVSQ9/OcvtOW 7reiBoxB+8DcRUnWIzgLBBHQNQgCOPAaUF9e1lR5DJgSD6z0GcMoiNRDo5wDi0qHkPWK COVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=Sg/MPDdfzyZdMo3ZbTgqHmi406FJ3IChSrw83ciO1XY=; b=pzE1m4dC06lvbeyQMxhW54jq0MlV4M4cvzQ7XopctjrSKt/1aLwzN1IVjYpjUGRjp9 vQ7saGl1IwZL71CLU3lhRTC372LM6vliZHQX+OCgj58DPp6A/ezqPfd2AJAaqlMP0Qmc i5rep3843dbiOD5LBzDnNOEPdJeeXfzyKArHCUxoILR2rqqA655LI8AlsNWbVkAViLdV +K9HsmW1WE2Wtlhc/ApMGYG03n+dmocarGQA8qj7zHRPNlmvA8Thow2nSXMDxKqNRgmd VQ+Ut/Ted27fbs93z0CFvkP0BDP8kWYFpxuFGbr2pJPjLQEU3TroKUeGk/d20SabAKeg 8RxQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=EWYiu5lw; dkim=pass header.i=@suse.com header.s=susede1 header.b=EWYiu5lw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p10si314851ejo.39.2021.07.01.08.42.14; Thu, 01 Jul 2021 08:42:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=EWYiu5lw; dkim=pass header.i=@suse.com header.s=susede1 header.b=EWYiu5lw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233840AbhGAPnm (ORCPT + 99 others); Thu, 1 Jul 2021 11:43:42 -0400 Received: from smtp-out1.suse.de ([195.135.220.28]:51776 "EHLO smtp-out1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233526AbhGAPnk (ORCPT ); Thu, 1 Jul 2021 11:43:40 -0400 Received: from imap.suse.de (imap-alt.suse-dmz.suse.de [192.168.254.47]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 0F96E22909; Thu, 1 Jul 2021 15:41:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1625154069; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Sg/MPDdfzyZdMo3ZbTgqHmi406FJ3IChSrw83ciO1XY=; b=EWYiu5lw7FznMp2Emrpoz+a1vQ3oTdcS+r1oFSCU6vYEaTrZiXj+aiT3STmPX1p3WZl7PK Q5LsvCG4bEObk3ktYdE4nwvJpz+5S5gnMdyqiFeOICUw+F4OpCW7iIdQkDrDuGzczWko3v QRNx6UIlow+x0tIbYZiWlBH58pZPgvI= Received: from imap3-int (imap-alt.suse-dmz.suse.de [192.168.254.47]) by imap.suse.de (Postfix) with ESMTP id A900D11CD6; Thu, 1 Jul 2021 15:41:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1625154069; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Sg/MPDdfzyZdMo3ZbTgqHmi406FJ3IChSrw83ciO1XY=; b=EWYiu5lw7FznMp2Emrpoz+a1vQ3oTdcS+r1oFSCU6vYEaTrZiXj+aiT3STmPX1p3WZl7PK Q5LsvCG4bEObk3ktYdE4nwvJpz+5S5gnMdyqiFeOICUw+F4OpCW7iIdQkDrDuGzczWko3v QRNx6UIlow+x0tIbYZiWlBH58pZPgvI= Received: from director2.suse.de ([192.168.254.72]) by imap3-int with ESMTPSA id mC4MKBTi3WAOFwAALh3uQQ (envelope-from ); Thu, 01 Jul 2021 15:41:08 +0000 From: Juergen Gross To: linux-kernel@vger.kernel.org, x86@kernel.org, kvm@vger.kernel.org Cc: Juergen Gross , Paolo Bonzini , Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" Subject: [PATCH 1/6] x86/kvm: fix vcpu-id indexed array sizes Date: Thu, 1 Jul 2021 17:41:00 +0200 Message-Id: <20210701154105.23215-2-jgross@suse.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20210701154105.23215-1-jgross@suse.com> References: <20210701154105.23215-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org KVM_MAX_VCPU_ID is the maximum vcpu-id of a guest, and not the number of vcpu-ids. Fix array indexed by vcpu-id to have KVM_MAX_VCPU_ID+1 elements. Note that this is currently no real problem, as KVM_MAX_VCPU_ID is an odd number, resulting in always enough padding being available at the end of those arrays. Nevertheless this should be fixed in order to avoid rare problems in case someone is using an even number for KVM_MAX_VCPU_ID. Signed-off-by: Juergen Gross --- arch/x86/kvm/ioapic.c | 2 +- arch/x86/kvm/ioapic.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86/kvm/ioapic.c b/arch/x86/kvm/ioapic.c index 698969e18fe3..ff005fe738a4 100644 --- a/arch/x86/kvm/ioapic.c +++ b/arch/x86/kvm/ioapic.c @@ -96,7 +96,7 @@ static unsigned long ioapic_read_indirect(struct kvm_ioapic *ioapic, static void rtc_irq_eoi_tracking_reset(struct kvm_ioapic *ioapic) { ioapic->rtc_status.pending_eoi = 0; - bitmap_zero(ioapic->rtc_status.dest_map.map, KVM_MAX_VCPU_ID); + bitmap_zero(ioapic->rtc_status.dest_map.map, KVM_MAX_VCPU_ID + 1); } static void kvm_rtc_eoi_tracking_restore_all(struct kvm_ioapic *ioapic); diff --git a/arch/x86/kvm/ioapic.h b/arch/x86/kvm/ioapic.h index 660401700075..11e4065e1617 100644 --- a/arch/x86/kvm/ioapic.h +++ b/arch/x86/kvm/ioapic.h @@ -43,13 +43,13 @@ struct kvm_vcpu; struct dest_map { /* vcpu bitmap where IRQ has been sent */ - DECLARE_BITMAP(map, KVM_MAX_VCPU_ID); + DECLARE_BITMAP(map, KVM_MAX_VCPU_ID + 1); /* * Vector sent to a given vcpu, only valid when * the vcpu's bit in map is set */ - u8 vectors[KVM_MAX_VCPU_ID]; + u8 vectors[KVM_MAX_VCPU_ID + 1]; }; -- 2.26.2