Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp1054257pxb; Wed, 3 Nov 2021 17:30:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx7vh9Ld1UNChWFuStV6yQWVZFvLtUiS1U2BYiMXxBAyloQ83am/bxjhwQSx37X7RF/Kb+W X-Received: by 2002:a5e:890e:: with SMTP id k14mr32210502ioj.187.1635985839616; Wed, 03 Nov 2021 17:30:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635985839; cv=none; d=google.com; s=arc-20160816; b=KIe+UzsgA8qmGeILbliqJZMaJ48kbGXHzY0sQ3vcBwt0SmAIwiAG+s7EgqUN+NcLU4 fktXhS6RI03YZv0mETUdN2jcyOMzlM+5cY0pELP0YAMbpcYxPJ3SeM29FrQmElDvS2wI /+0/HJ5zuZZ5+OGNObJuUPnGbKAHuiO0isWN+6v1rKrnD2uQCQkMCGOYvFFFRCfJrI+B NuDMgiqzbv1m6LnXRurvX4dFATcsASmB3glFuG4x4/JBMKDtOxfvBvh41xa7kt6KGq60 w3SW7g/5qLLUdGY99rXbo/9OJG6eqs4M2xb2R45LEIoIbKoyX8EO2wpSLzgvEjUbYgOv RxMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:reply-to:dkim-signature; bh=z9H8IQzlDNgV44iopVPD/a5Trpa0ZdTpJckFcsIyzz0=; b=Dy8qrFSzoMBZlozaERn+khCR+99BpaXbo80TanyNH+L+Cp0sbrX1lPIoEeE6Olu38A XsUO60ZBhdXbtkoZQQsbCSx4+ScdeKNglmWFUl2LA57XHLZ+i6czjNbdbazwGLcCspmT S1/bzvoeSonbXbHWzglOZit1dqratiB3GVpkGYNDWXjUHebl/WQgJhP26YKKrtBKRtkA J5O7VCJ/XiCnQGe2J/AOHBSdT2OlJZG+PqVajtrH8tKz5gLN2Xs8F5t78jV7Kd7AA3vN 7LOB6seCAMXV2YfawLRfg/iA9SWK26Fs8LTlmdoVJukSSD4E3/IYwKziCg9bx5+4IucW rE0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=YKpIJ4e4; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u18si6313930jat.31.2021.11.03.17.30.26; Wed, 03 Nov 2021 17:30:39 -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=@google.com header.s=20210112 header.b=YKpIJ4e4; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233396AbhKDAbo (ORCPT + 99 others); Wed, 3 Nov 2021 20:31:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52790 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233408AbhKDA3O (ORCPT ); Wed, 3 Nov 2021 20:29:14 -0400 Received: from mail-pl1-x64a.google.com (mail-pl1-x64a.google.com [IPv6:2607:f8b0:4864:20::64a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CA92EC061205 for ; Wed, 3 Nov 2021 17:26:37 -0700 (PDT) Received: by mail-pl1-x64a.google.com with SMTP id b23-20020a170902d89700b001415444f5a6so1947343plz.7 for ; Wed, 03 Nov 2021 17:26:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=reply-to:date:in-reply-to:message-id:mime-version:references :subject:from:to:cc; bh=z9H8IQzlDNgV44iopVPD/a5Trpa0ZdTpJckFcsIyzz0=; b=YKpIJ4e4/wfganLDuC8K208Zpsp5JVcK50xnWQQTLSFM+X50LE78T6m87p5qT3DblR Oqy3rk1VQsN1i/paB2gXcz5pvl+Jhd8ELjKdXAD0WmwFnDoXvIApQ5t8wATtH/xHBo3e E3zgwsISbQWVPjz/S1RIgDi94l9z3MF9WBJMMJEtMbLYrCmw/M0/pklTGnCcvsIM1IzC 7p8hk9aIycQqutIs+/eYz7g/lbNHI/oVf07ie2vQl+tlRkiyfau6HsmDc9DeODVl5ybk WJzJ95EFnzX+H5HwRah9xIveGt9v2x/cU0TbcVn1MuEYGyTz7eHSGiF0kmPeMBG8mGAx hpBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:date:in-reply-to:message-id :mime-version:references:subject:from:to:cc; bh=z9H8IQzlDNgV44iopVPD/a5Trpa0ZdTpJckFcsIyzz0=; b=dn7wc6Rxk5WN1jpylOibvK3k+QwqvTd4sxcz7BskqUvcTOFkXmRjoM69Eemgab+9tE 1KzlEN29qBK/gTcMsqf49+UuduywXL+tcNY4o9GGvMf8hraCXMwVLsJYNdKwTtb4tQCq YSCt6OGSMvE7LzjmtsdjoHkMiN3G01EENEoWn9Vd1Ot397c5nx4d8It7Hb7kJXjPboOP n/x5AUv8ew4zXE+avcItue0Wvrixl7M6JFP6VrB8rJwY+ipP9V4r1bK3d2YS2mBS1Enf tZ6OABFYhbKSu2ir62Lbpji+Z9lesY7VJgVMcPHLxWt7KQ5PBrEzev2JY40gsPvNIMBy EFcA== X-Gm-Message-State: AOAM5324s/VK5HKowQHf0RjRZkA1DpxkhSdiu5GyfCXMUHy1p5NhTJbv rs3bfdYmpzkrUdgjob80b3YanoI/GLg= X-Received: from seanjc.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:3e5]) (user=seanjc job=sendgmr) by 2002:a17:90a:5285:: with SMTP id w5mr261421pjh.1.1635985596589; Wed, 03 Nov 2021 17:26:36 -0700 (PDT) Reply-To: Sean Christopherson Date: Thu, 4 Nov 2021 00:25:23 +0000 In-Reply-To: <20211104002531.1176691-1-seanjc@google.com> Message-Id: <20211104002531.1176691-23-seanjc@google.com> Mime-Version: 1.0 References: <20211104002531.1176691-1-seanjc@google.com> X-Mailer: git-send-email 2.33.1.1089.g2158813163f-goog Subject: [PATCH v5.5 22/30] KVM: Move WARN on invalid memslot index to update_memslots() From: Sean Christopherson To: Marc Zyngier , Huacai Chen , Aleksandar Markovic , Paul Mackerras , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Christian Borntraeger , Janosch Frank , Paolo Bonzini Cc: James Morse , Alexandru Elisei , Suzuki K Poulose , Atish Patra , David Hildenbrand , Cornelia Huck , Claudio Imbrenda , Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-mips@vger.kernel.org, kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Ben Gardon , "Maciej S . Szmigiero" Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Maciej S. Szmigiero Since kvm_memslot_move_forward() can theoretically return a negative memslot index even when kvm_memslot_move_backward() returned a positive one (and so did not WARN) let's just move the warning to the common code. Signed-off-by: Maciej S. Szmigiero Reviewed-by: Claudio Imbrenda Reviewed-by: Sean Christopherson Signed-off-by: Sean Christopherson --- virt/kvm/kvm_main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index a2d51ce957e1..d45d574a5a2d 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -1307,8 +1307,7 @@ static inline int kvm_memslot_move_backward(struct kvm_memslots *slots, struct kvm_memory_slot *mslots = slots->memslots; int i; - if (WARN_ON_ONCE(slots->id_to_index[memslot->id] == -1) || - WARN_ON_ONCE(!slots->used_slots)) + if (slots->id_to_index[memslot->id] == -1 || !slots->used_slots) return -1; /* @@ -1412,6 +1411,9 @@ static void update_memslots(struct kvm_memslots *slots, i = kvm_memslot_move_backward(slots, memslot); i = kvm_memslot_move_forward(slots, memslot, i); + if (WARN_ON_ONCE(i < 0)) + return; + /* * Copy the memslot to its new position in memslots and update * its index accordingly. -- 2.33.1.1089.g2158813163f-goog