From mboxrd@z Thu Jan 1 00:00:00 1970 From: Binbin Wu Date: Wed, 27 Sep 2023 13:19:29 +0800 Subject: [RFC PATCH v12 11/33] KVM: Introduce per-page memory attributes In-Reply-To: References: <20230914015531.1419405-1-seanjc@google.com> <20230914015531.1419405-12-seanjc@google.com> Message-ID: <483f9e1e-7d01-5f06-3bfa-3788d2554724@linux.intel.com> List-Id: To: kvm-riscv@lists.infradead.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit On 9/21/2023 5:03 AM, Sean Christopherson wrote: > On Mon, Sep 18, 2023, Binbin Wu wrote: >> >> On 9/14/2023 9:55 AM, Sean Christopherson wrote: >>> From: Chao Peng >> [...] >>> +#ifdef CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES >>> +/* >>> + * Returns true if _all_ gfns in the range [@start, @end) have attributes >>> + * matching @attrs. >>> + */ >>> +bool kvm_range_has_memory_attributes(struct kvm *kvm, gfn_t start, gfn_t end, >>> + unsigned long attrs) >>> +{ >>> + XA_STATE(xas, &kvm->mem_attr_array, start); >>> + unsigned long index; >>> + bool has_attrs; >>> + void *entry; >>> + >>> + rcu_read_lock(); >>> + >>> + if (!attrs) { >>> + has_attrs = !xas_find(&xas, end); >> IIUIC, xas_find() is inclusive for "end", so here should be "end - 1" ? > Yes, that does appear to be the case. Inclusive vs. exclusive on gfn ranges has > is the bane of my existence. Seems this one is not included in the "KVM: guest_memfd fixes" patch series? https://lore.kernel.org/kvm/20230921203331.3746712-1-seanjc at google.com/