From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 33658C3DA7A for ; Thu, 5 Jan 2023 20:38:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 945288E0002; Thu, 5 Jan 2023 15:38:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8F5498E0001; Thu, 5 Jan 2023 15:38:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 795F78E0002; Thu, 5 Jan 2023 15:38:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 6AC6E8E0001 for ; Thu, 5 Jan 2023 15:38:44 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4626E4027D for ; Thu, 5 Jan 2023 20:38:44 +0000 (UTC) X-FDA: 80321908968.30.C132F70 Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) by imf09.hostedemail.com (Postfix) with ESMTP id B7A3914000C for ; Thu, 5 Jan 2023 20:38:42 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=JTqD02qz; spf=pass (imf09.hostedemail.com: domain of vannapurve@google.com designates 209.85.160.179 as permitted sender) smtp.mailfrom=vannapurve@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1672951122; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=5R84gnDXIcZCl3q1uuKNVrzE7JF/GewA0GD7Joj4Tac=; b=xKNxK/sP1zX/btyJph6WjGy3QcNzP931iXGF9Sp46hGVwcdWeYj5VG1xzQwSzz4A7LSzEV 1zcZArGCdeXYHeC9myVuaXeKLtA1F6V3OQbZPE+DCMKJVIfVzoYpagZTsBLP24aX68YB47 07OG/R/ZlyZMUjh5Q4f4CXsl2OqC9kk= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=JTqD02qz; spf=pass (imf09.hostedemail.com: domain of vannapurve@google.com designates 209.85.160.179 as permitted sender) smtp.mailfrom=vannapurve@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1672951122; a=rsa-sha256; cv=none; b=TzTwkFr+YiTh45Tn0asTqI6JhqKjpYily2NIlDMtiCzcU4EkdsGRIoZYcm0ESYFSz6FvY+ CW1zqhBZfwyYEweSGnJCNjCUHBEWEAFmxIYMc/KC3wKSVPOPv6WRxuLcXKaVcw8DNf0EMH ZQHwEH2jJUbsYAloqURUpfd4lxKfYw4= Received: by mail-qt1-f179.google.com with SMTP id x11so30943930qtv.13 for ; Thu, 05 Jan 2023 12:38:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=5R84gnDXIcZCl3q1uuKNVrzE7JF/GewA0GD7Joj4Tac=; b=JTqD02qzpNL7au3Z3GUF4Xu2ARxubYVglZyPFMGjd5IBB76X21fyAUfGvELrmmzFik QzBJjZBaZ6aZe7oTAlxNCti0+kLpAukE+qZM7LrpHVjgAMiyLgJZ2+98YW1K5vKsRoVw 2umAOw9diVB8LQA7BnZCONR8pssadQA3XE8f0al71RlaiMm7wUNlcWpSs5hmEzVyjqeM eYv5U34leRc2bqLAihlC18sqPCveW9G6816ZQccg0Z2ovOthL6yQhQkI0guVnNH8iTu7 dG6eqdfXW1bD1DNzwo+oob/r+0lWSVvlcjXTltffxVApLthVRgT5BHTNgmHgdLEzU0KX YdYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5R84gnDXIcZCl3q1uuKNVrzE7JF/GewA0GD7Joj4Tac=; b=LEWFFtpXI3n0tcRpU0orjYqG3Gf5klJeJ+O7Tm7hjIsbw//ZnLOrHew4JtukxdQIHM l4OzWlvn44o/DJWLmPmMldsaknihiHsD85M0S6RRaeql1l5T4orh5pcBuETwuB3jN3i5 BqmRZxUwfby93U8/HNtoniwxbcTBPLbBOWtMF/lwyKrRMeyywjoDXLqwSpro7XbfLCuw 40WgwKDq3hPB6d79Ro8Q8y81pZrtqFfqQ1MJ7Jm/5C6cbEz6KRjpRLEy8A/RNUQSiaiZ 2WmL+CmPcwbJFD1ErvtE/m5cAWboK28mYGEjGSxTwVQNzCn6WIkTdCZlISivWQmb8GxI +VYQ== X-Gm-Message-State: AFqh2kro2B+l4DIfwHxiYDYnhBZeNf6fldkwUeMjTtd9f3Zp/nNZTXcu sMBuzo3kL2xI/u7EhhDpiCC9Vf+61EBFWqwKFdazLA== X-Google-Smtp-Source: AMrXdXsO9CWfLwOzPVqYnAJucA/qVRf1ChKGrluQUWC1ROk0zrv6560/2Dre8nwP8Lxgkk7sOMhP2BMCSX8GFdVvZpI= X-Received: by 2002:ac8:5e0c:0:b0:3ab:754e:f0b3 with SMTP id h12-20020ac85e0c000000b003ab754ef0b3mr2062105qtx.583.1672951121587; Thu, 05 Jan 2023 12:38:41 -0800 (PST) MIME-Version: 1.0 References: <20221202061347.1070246-1-chao.p.peng@linux.intel.com> <20221202061347.1070246-10-chao.p.peng@linux.intel.com> In-Reply-To: <20221202061347.1070246-10-chao.p.peng@linux.intel.com> From: Vishal Annapurve Date: Thu, 5 Jan 2023 12:38:30 -0800 Message-ID: Subject: Re: [PATCH v10 9/9] KVM: Enable and expose KVM_MEM_PRIVATE To: Chao Peng Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-api@vger.kernel.org, linux-doc@vger.kernel.org, qemu-devel@nongnu.org, Paolo Bonzini , Jonathan Corbet , Sean Christopherson , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Arnd Bergmann , Naoya Horiguchi , Miaohe Lin , x86@kernel.org, "H . Peter Anvin" , Hugh Dickins , Jeff Layton , "J . Bruce Fields" , Andrew Morton , Shuah Khan , Mike Rapoport , Steven Price , "Maciej S . Szmigiero" , Vlastimil Babka , Yu Zhang , "Kirill A . Shutemov" , luto@kernel.org, jun.nakajima@intel.com, dave.hansen@intel.com, ak@linux.intel.com, david@redhat.com, aarcange@redhat.com, ddutile@redhat.com, dhildenb@redhat.com, Quentin Perret , tabba@google.com, Michael Roth , mhocko@suse.com, wei.w.wang@intel.com Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: B7A3914000C X-Stat-Signature: 7b3u4rgq4ae3yedeerkpdmafui8daeum X-HE-Tag: 1672951122-788954 X-HE-Meta: U2FsdGVkX1+i8NgzAHHDObBI3ZeWXG/FiRyy549UQmKzVoihoQz4U12tLThDLoCh/rGcezQK4bwskuiHjGqSfM1YuAcTvD2ZZGH1TzQXpYnCcfDxs7RPoSPXxFVJQxc/RAcJq5IaoQXN3zYmEX0ZwC1rGF+0YbhoCshttHVz6l2sRrdZaZkNiPlit31pyCJmZerI1lqLSe5Xglfx2ArYc1W69cMyaDhNMJUV9fJTLcaxvjBTLsWc99QEmnrUhHTFo9MeAukK0SP5Xrzp1hzYSGPe07L4eCWgzA9aS83xM53Z152sPEj3Y2Y/Z3YSUm39uSTr1n9TFH0Mj4ceTZLf1SM5CQtyRPrPux2I8O6kALN9Dwgjph0TlZmdolK/dBVTHSA+BRdNN0z2NhIM9AfRHWmJ3eeZ1ljOHthkAdMU44N5wFXO6F6c2NZ5/XfwZeI4CzDZ8NbeaHVvi5e86aRbOE6n+KtcEEkI8kDeA81nAvaQOuqeWaan6lrLavt6KRVTQpHajmOkTEXDCWIO+fwV8qw4sOW01ICaPOvG+JXxB5j5hbHQFeG/2l8ZVe4YrGjoBApXDeCdopV5Vu1uowqApNPmA7sX1+ciZ9TVwEjb8P4bYGNZ/Gk4ymtBIkGa3MTWxeUvBeMhJI2z/G8cVOOO78csRg87BlBCdn5qqg2RDxNZJbpjInvMzgMS+/XKo58yqP9ykHjo3n7ovHUw/SokvUSrVowZuT+6dv7Kxo/foPDtLbJVwufT8CQlvvnQpIDfPKTN+f8vV3pLqqf5IGEgp/qckNA1AJ3nwh4d7JR+BYxRm8L+CXQyNLOJBZkyUPSfydvUBL7yYEdyPM4UonKc9V0dqB2cOwxs4LIAGi7d353Va2GFPOEWtEJogC04YkakfoUSHcpQK6RlmnzUR2v4ezqJF3BjcEtZPHXiSxhWKZCdEcALe3JP/doJZOIvpTvGZIGkMzL5gihPHH4MBtX T0IZlYf/ 3yMaUeKMaW5zBNxLxPpV4/JZRc90+IxVpa3YWkshJ2P4hQRnMd0hTL1Jmag== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Dec 1, 2022 at 10:20 PM Chao Peng wrote: > > +#ifdef CONFIG_HAVE_KVM_RESTRICTED_MEM > +static bool restrictedmem_range_is_valid(struct kvm_memory_slot *slot, > + pgoff_t start, pgoff_t end, > + gfn_t *gfn_start, gfn_t *gfn_end) > +{ > + unsigned long base_pgoff = slot->restricted_offset >> PAGE_SHIFT; > + > + if (start > base_pgoff) > + *gfn_start = slot->base_gfn + start - base_pgoff; There should be a check for overflow here in case start is a very big value. Additional check can look like: if (start >= base_pgoff + slot->npages) return false; > + else > + *gfn_start = slot->base_gfn; > + > + if (end < base_pgoff + slot->npages) > + *gfn_end = slot->base_gfn + end - base_pgoff; If "end" is smaller than base_pgoff, this can cause overflow and return the range as valid. There should be additional check: if (end < base_pgoff) return false; > + else > + *gfn_end = slot->base_gfn + slot->npages; > + > + if (*gfn_start >= *gfn_end) > + return false; > + > + return true; > +} > +