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 X-Spam-Level: X-Spam-Status: No, score=-15.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 95225C433ED for ; Mon, 17 May 2021 17:30:10 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 225B461263 for ; Mon, 17 May 2021 17:30:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 225B461263 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.ibm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 822646B007E; Mon, 17 May 2021 13:30:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7D1898D0003; Mon, 17 May 2021 13:30:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5D6698D0001; Mon, 17 May 2021 13:30:09 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0049.hostedemail.com [216.40.44.49]) by kanga.kvack.org (Postfix) with ESMTP id 2D9816B007E for ; Mon, 17 May 2021 13:30:09 -0400 (EDT) Received: from smtpin11.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id B1AE1B7B2 for ; Mon, 17 May 2021 17:30:08 +0000 (UTC) X-FDA: 78151411296.11.AA730DD Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by imf24.hostedemail.com (Postfix) with ESMTP id 2CFA7A00039D for ; Mon, 17 May 2021 17:30:05 +0000 (UTC) Received: from pps.filterd (m0098396.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 14HH4KnP012861; Mon, 17 May 2021 13:28:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=subject : to : cc : references : from : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=gG7poeajwHzo+ksfNup3ImS74+kfbrcfZHeo+UFoZ5E=; b=OvENhqYULWV7sHVO7zVPPD8NMCfiyVOUeI4FU03Yfgv/UedyCJvezlwxR4UH5oJZt2bF vGHvZfccOEm3tdh91cG9kzzhWjtUFF+tycxi7DCmYwpc0ZfrMhAhYZYCvtyTNVt1QDOx Tg8XqjF41iFbaSkQovoZfDLBp/d5YcdQIU+F0IaH7fUL10A5NrDVdtc8c+Bc2HukAjnk jj1Ee2hYZJKV80yewqLkDKljkOB6jegKCnYRly1SekOIjdbLQDsrXWg0a6fmq60nBUZf +4y/H1vmalJo+hACrmIuPS6JsucAk86oejPMKTQ2crsuNuxi19Tm+22G3r0q1ckM6Her jQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 38kux11r79-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 17 May 2021 13:28:44 -0400 Received: from m0098396.ppops.net (m0098396.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.43/8.16.0.43) with SMTP id 14HHAY6p040100; Mon, 17 May 2021 13:28:44 -0400 Received: from ppma03fra.de.ibm.com (6b.4a.5195.ip4.static.sl-reverse.com [149.81.74.107]) by mx0a-001b2d01.pphosted.com with ESMTP id 38kux11r6p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 17 May 2021 13:28:43 -0400 Received: from pps.filterd (ppma03fra.de.ibm.com [127.0.0.1]) by ppma03fra.de.ibm.com (8.16.0.43/8.16.0.43) with SMTP id 14HHSJc9006489; Mon, 17 May 2021 17:28:41 GMT Received: from b06avi18878370.portsmouth.uk.ibm.com (b06avi18878370.portsmouth.uk.ibm.com [9.149.26.194]) by ppma03fra.de.ibm.com with ESMTP id 38j5x88j9q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 17 May 2021 17:28:41 +0000 Received: from d06av26.portsmouth.uk.ibm.com (d06av26.portsmouth.uk.ibm.com [9.149.105.62]) by b06avi18878370.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 14HHSBWl26411268 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 17 May 2021 17:28:11 GMT Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C7A74AE04D; Mon, 17 May 2021 17:28:38 +0000 (GMT) Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4514AAE045; Mon, 17 May 2021 17:28:38 +0000 (GMT) Received: from pomme.local (unknown [9.145.23.115]) by d06av26.portsmouth.uk.ibm.com (Postfix) with ESMTP; Mon, 17 May 2021 17:28:38 +0000 (GMT) Subject: Re: [PATCH 00/21] mm: Add vma_lookup() To: Liam Howlett , "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton Cc: Song Liu , Davidlohr Bueso , "Paul E . McKenney" , Matthew Wilcox , David Rientjes , Axel Rasmussen , Suren Baghdasaryan , Vlastimil Babka , Rik van Riel , Peter Zijlstra , Michel Lespinasse References: <20210510165839.2692974-1-Liam.Howlett@Oracle.com> From: Laurent Dufour Message-ID: <1edcdd6f-af3b-560f-d10f-cbae5e911ea1@linux.ibm.com> Date: Mon, 17 May 2021 19:28:37 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <20210510165839.2692974-1-Liam.Howlett@Oracle.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US X-TM-AS-GCONF: 00 X-Proofpoint-GUID: MlzrHFys5fWFRUVkyzsZUTB7RcWxBbxb X-Proofpoint-ORIG-GUID: CautskajhkVrfu9qOgO9i4j0PLTrA43u X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.761 definitions=2021-05-17_06:2021-05-17,2021-05-17 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 priorityscore=1501 impostorscore=0 spamscore=0 adultscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 phishscore=0 suspectscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2105170117 X-Rspamd-Queue-Id: 2CFA7A00039D Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=ibm.com header.s=pp1 header.b=OvENhqYU; spf=pass (imf24.hostedemail.com: domain of ldufour@linux.ibm.com designates 148.163.156.1 as permitted sender) smtp.mailfrom=ldufour@linux.ibm.com; dmarc=pass (policy=none) header.from=ibm.com X-Rspamd-Server: rspam04 X-Stat-Signature: twoiqcxmt1ytyn7zufp1npcu4inww5bn X-HE-Tag: 1621272605-985177 Content-Transfer-Encoding: quoted-printable 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: Le 10/05/2021 =C3=A0 18:58, Liam Howlett a =C3=A9crit=C2=A0: > Many places in the kernel use find_vma() to get a vma and then check th= e > start address of the vma to ensure the next vma was not returned. >=20 > Other places use the find_vma_intersection() call with add, addr + 1 as > the range; looking for just the vma at a specific address. >=20 > The third use of find_vma() is by developers who do not know that the > function starts searching at the provided address upwards for the next > vma. This results in a bug that is often overlooked for a long time. >=20 > Adding the new vma_lookup() function will allow for cleaner code by > removing the find_vma() calls which check limits, making > find_vma_intersection() calls of a single address to be shorter, and > potentially reduce the incorrect uses of find_vma(). >=20 > This patch set was originally part of the maple tree patch set. FWIW, for the whole series: Reviewed-by: Laurent Dufour > Changes since being broken out on its own: > - Changed initial implementation of vma_lookup() to use find_vma() as r= equested > by Michel Lespinasse. > - Updated commit comments to be more descriptive >=20 > These patches are based on next-20210506 >=20 > Liam R. Howlett (22): > mm: Add vma_lookup() > drm/i915/selftests: Use vma_lookup() in __igt_mmap() > arch/arc/kernel/troubleshoot: use vma_lookup() instead of find_vma() > arch/arm64/kvm: Use vma_lookup() instead of find_vma_intersection() > arch/powerpc/kvm/book3s_hv_uvmem: Use vma_lookup() instead of > find_vma_intersection() > arch/powerpc/kvm/book3s: Use vma_lookup() in > kvmppc_hv_setup_htab_rma() > arch/mips/kernel/traps: Use vma_lookup() instead of find_vma() > arch/m68k/kernel/sys_m68k: Use vma_lookup() in sys_cacheflush() > x86/sgx: Use vma_lookup() in sgx_encl_find() > virt/kvm: Use vma_lookup() instead of find_vma_intersection() > vfio: Use vma_lookup() instead of find_vma_intersection() > net/ipv5/tcp: Use vma_lookup() in tcp_zerocopy_receive() > drm/amdgpu: Use vma_lookup() in amdgpu_ttm_tt_get_user_pages() > media: videobuf2: Use vma_lookup() in get_vaddr_frames() > misc/sgi-gru/grufault: Use vma_lookup() in gru_find_vma() > kernel/events/uprobes: Use vma_lookup() in find_active_uprobe() > lib/test_hmm: Use vma_lookup() in dmirror_migrate() > mm/ksm: Use vma_lookup() in find_mergeable_vma() > mm/migrate: Use vma_lookup() in do_pages_stat_array() > mm/mremap: Use vma_lookup() in vma_to_resize() > mm/memory.c: Use vma_lookup() in __access_remote_vm() > mm/mempolicy: Use vma_lookup() in __access_remote_vm() >=20 > arch/arc/kernel/troubleshoot.c | 8 ++++---- > arch/arm64/kvm/mmu.c | 2 +- > arch/m68k/kernel/sys_m68k.c | 4 ++-- > arch/mips/kernel/traps.c | 4 +--- > arch/powerpc/kvm/book3s_hv.c | 4 ++-- > arch/powerpc/kvm/book3s_hv_uvmem.c | 2 +- > arch/x86/kernel/cpu/sgx/encl.h | 4 ++-- > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 4 ++-- > .../gpu/drm/i915/gem/selftests/i915_gem_mman.c | 2 +- > drivers/media/common/videobuf2/frame_vector.c | 2 +- > drivers/misc/sgi-gru/grufault.c | 4 ++-- > drivers/vfio/vfio_iommu_type1.c | 2 +- > include/linux/mm.h | 18 +++++++++++++++++= + > kernel/events/uprobes.c | 4 ++-- > lib/test_hmm.c | 5 ++--- > mm/ksm.c | 6 ++---- > mm/memory.c | 4 ++-- > mm/mempolicy.c | 2 +- > mm/migrate.c | 4 ++-- > mm/mremap.c | 4 ++-- > net/ipv4/tcp.c | 4 ++-- > virt/kvm/kvm_main.c | 2 +- > 22 files changed, 54 insertions(+), 41 deletions(-) >=20