From patchwork Wed Feb 28 22:23:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joey Pabalinas X-Patchwork-Id: 10249997 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DDEC160362 for ; Wed, 28 Feb 2018 22:23:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BED3328B74 for ; Wed, 28 Feb 2018 22:23:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B214F28C18; Wed, 28 Feb 2018 22:23:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, FSL_HELO_FAKE, RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6095B28B74 for ; Wed, 28 Feb 2018 22:23:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935314AbeB1WX0 (ORCPT ); Wed, 28 Feb 2018 17:23:26 -0500 Received: from mail-pl0-f67.google.com ([209.85.160.67]:34438 "EHLO mail-pl0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935151AbeB1WXZ (ORCPT ); Wed, 28 Feb 2018 17:23:25 -0500 Received: by mail-pl0-f67.google.com with SMTP id u13-v6so2397767plq.1; Wed, 28 Feb 2018 14:23:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :user-agent; bh=D0mXfgj3a8/dMKAjSGGNgqeNsfjJk9+n2QTOgg6DSo0=; b=Luvg0Zku3cCoLG5ApZd+om2wJqmnIxuaqAUrxLv0xPKClif5/QWjrgwWM2olPu9obx pez6aaMuo8FkwcOzMYMm334iiBe/P1L3CTaMjVSX4vOJOFmnkru7YZ0L11FJGVuBjIrl mAY6/9oOivVWjwl+Erp/s0wZrsSlgyDRhMgaykkTpOCClVXNwS5PZckurKlSsvKPxnLk QKRlfMQk0oS8VbO0r6BKgf2L8tXc0oO3pTyGX8iFbaTllDqj+z3axhTwgP+H3siwdkAT CuW2zoEYO/Ty+42Qb/azmAQrgtENdroJRN5J+BWXlEOFacTk3xNuGTF1BSdXM2aKXXRb Xglw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:user-agent; bh=D0mXfgj3a8/dMKAjSGGNgqeNsfjJk9+n2QTOgg6DSo0=; b=EDzGjSGwtosy5GcjqKPU2rfdqpMZDfkl7H9E57uSIi0VmFZbHretQDDZ5/60c9OPyQ lzHQiN8zECUvYEl0D2V4H+tfqV2EuaaZbbUObvEZ35OrGirKxMUZMkUw7K732vJHMliD pyoMx3IZhLfLoVZmCVIQEi/1Cj71llXfEvf9XfWfly0EIXp3tRhVOooRVHd1xvv/cSym zjLdE8mwASbxCnb+ev2A9eXzFxtI/4G4IhQIAfYjlAwkUmtlcmonZGoMawZ8Q/gBJvBu SmifQ/E6K5C7bh818yvu3PHefYHkQervhPrhiql9nXtM11c9Bg2sZQ7wnbDab1YawKhE HgyQ== X-Gm-Message-State: APf1xPB7CNCFlZa/NXm9qC/w9XoYf3kvcGC6Lhw1hfj36cWtS6pIh5I4 quxgBJ5qLmKLf830EqdrYLIXGw== X-Google-Smtp-Source: AG47ELuUgYX5xkjIJmMFiQuZlZbzx12wNCsBfziTiq4Sh0HytPRfsDbn6ZUkX82NgW2xzfHDUALtSg== X-Received: by 2002:a17:902:780c:: with SMTP id p12-v6mr9803161pll.161.1519856604219; Wed, 28 Feb 2018 14:23:24 -0800 (PST) Received: from gmail.com ([2605:e000:1117:c19a:2e0:1bff:fe70:ea]) by smtp.gmail.com with ESMTPSA id 12sm4950911pfr.147.2018.02.28.14.23.22 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 Feb 2018 14:23:22 -0800 (PST) Date: Wed, 28 Feb 2018 12:23:20 -1000 From: Joey Pabalinas To: kvm@vger.kernel.org Cc: Thomas Gleixner , Ingo Molnar , x86@kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] x86/kvm/mmu: const-ify struct kvm_memory_slot pointers Message-ID: <20180228222320.23xpoldpmhcp26vi@gmail.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: NeoMutt/20171215 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Remove `(struct kvm_memory_slot *)` cast of the `const struct kvm_memory_slot *memslot` parameter and const-ify all references to that pointer down the function call chain. Signed-off-by: Joey Pabalinas 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index f551962ac29488431b..e6b32de4d7426fecb3 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c @@ -1235,7 +1235,7 @@ static void pte_list_remove(u64 *spte, struct kvm_rmap_head *rmap_head) } static struct kvm_rmap_head *__gfn_to_rmap(gfn_t gfn, int level, - struct kvm_memory_slot *slot) + const struct kvm_memory_slot *slot) { unsigned long idx; @@ -1678,7 +1678,7 @@ static int kvm_set_pte_rmapp(struct kvm *kvm, struct kvm_rmap_head *rmap_head, struct slot_rmap_walk_iterator { /* input fields. */ - struct kvm_memory_slot *slot; + const struct kvm_memory_slot *slot; gfn_t start_gfn; gfn_t end_gfn; int start_level; @@ -1705,7 +1705,7 @@ rmap_walk_init_level(struct slot_rmap_walk_iterator *iterator, int level) static void slot_rmap_walk_init(struct slot_rmap_walk_iterator *iterator, - struct kvm_memory_slot *slot, int start_level, + const struct kvm_memory_slot *slot, int start_level, int end_level, gfn_t start_gfn, gfn_t end_gfn) { iterator->slot = slot; @@ -5081,7 +5081,7 @@ typedef bool (*slot_level_handler) (struct kvm *kvm, struct kvm_rmap_head *rmap_ /* The caller should hold mmu-lock before calling this function. */ static __always_inline bool -slot_handle_level_range(struct kvm *kvm, struct kvm_memory_slot *memslot, +slot_handle_level_range(struct kvm *kvm, const struct kvm_memory_slot *memslot, slot_level_handler fn, int start_level, int end_level, gfn_t start_gfn, gfn_t end_gfn, bool lock_flush_tlb) { @@ -5111,7 +5111,7 @@ slot_handle_level_range(struct kvm *kvm, struct kvm_memory_slot *memslot, } static __always_inline bool -slot_handle_level(struct kvm *kvm, struct kvm_memory_slot *memslot, +slot_handle_level(struct kvm *kvm, const struct kvm_memory_slot *memslot, slot_level_handler fn, int start_level, int end_level, bool lock_flush_tlb) { @@ -5138,7 +5138,7 @@ slot_handle_large_level(struct kvm *kvm, struct kvm_memory_slot *memslot, } static __always_inline bool -slot_handle_leaf(struct kvm *kvm, struct kvm_memory_slot *memslot, +slot_handle_leaf(struct kvm *kvm, const struct kvm_memory_slot *memslot, slot_level_handler fn, bool lock_flush_tlb) { return slot_handle_level(kvm, memslot, fn, PT_PAGE_TABLE_LEVEL, @@ -5245,10 +5245,8 @@ static bool kvm_mmu_zap_collapsible_spte(struct kvm *kvm, void kvm_mmu_zap_collapsible_sptes(struct kvm *kvm, const struct kvm_memory_slot *memslot) { - /* FIXME: const-ify all uses of struct kvm_memory_slot. */ spin_lock(&kvm->mmu_lock); - slot_handle_leaf(kvm, (struct kvm_memory_slot *)memslot, - kvm_mmu_zap_collapsible_spte, true); + slot_handle_leaf(kvm, memslot, kvm_mmu_zap_collapsible_spte, true); spin_unlock(&kvm->mmu_lock); }