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 CE823C77B7C for ; Wed, 25 Jun 2025 15:36:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 761048D000B; Wed, 25 Jun 2025 11:36:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 711A88D0001; Wed, 25 Jun 2025 11:36:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 628178D000B; Wed, 25 Jun 2025 11:36:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 557298D0001 for ; Wed, 25 Jun 2025 11:36:04 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id EE684103E3F for ; Wed, 25 Jun 2025 15:36:03 +0000 (UTC) X-FDA: 83594323806.27.E057F80 Received: from mail-ot1-f44.google.com (mail-ot1-f44.google.com [209.85.210.44]) by imf07.hostedemail.com (Postfix) with ESMTP id 097B54000E for ; Wed, 25 Jun 2025 15:36:01 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=yx1tMmsy; spf=pass (imf07.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.210.44 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750865762; 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=J8tlQE5v07I/5xht24fB0D/BTAcxIcNLUyDbV5uJBaE=; b=XUIcr/AvjHbMGCqbX9RT9fONe9qTtn+OavQkBBdfZtlATZxuGOt+1vTkdlLkwloVrBXNIu LI6lEqeQt63zWxFA6jFF4/Es2ArE9JaKTZeUXsXfLo6vqZFBK9igOlVR+qVv8YPsb2vnj3 l/fLIhuf8z6cFT4GDYPzo1FtnwIwXyg= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=yx1tMmsy; spf=pass (imf07.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.210.44 as permitted sender) smtp.mailfrom=dan.carpenter@linaro.org; dmarc=pass (policy=none) header.from=linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750865762; a=rsa-sha256; cv=none; b=0Ohos/e2sK20v/Lrhl8BM3nLUVlfE+o+wqniVt1k8P78041JBeEwh/Aa6/kkOdXsU8WIWZ 6g0q4qhO2n3DzC2rqhXMBlCH9Y+O07jW2wDgNiPgcyL4LQ9XOGNXcf27vJfha8pv+PHE8T HGMeyBWXuNU8nbMBCOkT9QRMLB19B34= Received: by mail-ot1-f44.google.com with SMTP id 46e09a7af769-73a5c3e1b7aso4578286a34.3 for ; Wed, 25 Jun 2025 08:36:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1750865761; x=1751470561; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=J8tlQE5v07I/5xht24fB0D/BTAcxIcNLUyDbV5uJBaE=; b=yx1tMmsyupeGCG3eqNVr30+JYX/CvuITBkcrxzRfd9NOz68NP+5Dvqthrtjh6HT1mI FxJ3xK8CWCX2afj+/vzOIsL/7rbTDGuhldXtkM6FYpI57to4TBbNfs00i701qkpmqXka gEJ3NbwsEMPkkBNF937PvVo2paRPc0DUu1SqxmMfbwKAfs5yjDrMmi7GzLAoiyq8vnh7 OLdCpLFkI059quf3VWu7PVrGZwuCUnDX7fsSh/Ujdgn8ssA1Go2jHE42oIPya8uLZdOR pPSaOPA7NyD/IoiFu5TohY6LtgSpDDoQycFPIqA1yzeI2siG6x+dhv7TbiXBiKJ3PcYW EjXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750865761; x=1751470561; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=J8tlQE5v07I/5xht24fB0D/BTAcxIcNLUyDbV5uJBaE=; b=BIzwEIV/W0XFwzY90X9/YfOFqJ0hvc568w8fpAJ13zJ3kUJ0wfvs1Y2OAY08le83d6 eRdkklhLM0E8S0SOEPkLK2n7sS0FsN0j4h2VH+ehP4Op29byiz+FL7FaiXfnRphhAoqu 1nyaB1h1MqqcFv2ebQB0hmEsNLZemYaEipt7zK3AzFtZj0W2SDxzUD6x+HG1lsbEo4Pv G8VvMHM2hbKgz8GRsiymDbilm1VFLA8Gm/d7CW4Nqdgj2iEA8Etl/q7/MO/2oj0G65lI DeaZnJK3rtBFJff632WhE4fztZdS7uiS+IJOt8VnSRdKvlrFleGYG7eJBrmbLMRk1ew1 okCg== X-Gm-Message-State: AOJu0YzaBhTHFOhYWXNyY/dgbK2L9jWQrO7U97sckxibCZ/RtstJQpn+ jvICOShCfDZDTAuX5N498bzLt4G58OFLsAsqvOR0UeGZccjXAOeRNlTxICmSl503mMltyadaNjT hNE/z X-Gm-Gg: ASbGncvYFioGNC49Rhl7A2g6xDK6pyW3P0ZIR0kzcwDTSZm0Www8ksDnqBuWn+frQN8 WOBhlv17aPKzIpbcYhDgd3BWkb7M0Gc3CPnJVps0QgYg43uYHP3LiKcuwL0P9JRwU19VhRD/3DT 1nUbQFKxFg6u1SRJ31MDXtR426aPxYb2AjRl3YJ9ykmnVVfI1UQ5NnsAI99RbsyVmslKv3tv2le tW+fOETycSgaqUu6E7bIOL+bZV1k10BKnRAgCdW66JHlRG5bKNjF8vVIfn4phoH/oneaSo49Z+C KyHSrnb/fSY+mV8HXqMS8LoBtMn+y4XEc0Qc2z4zg4xd5T3EXgLXY1Q7Fw/wFu+KXxI= X-Google-Smtp-Source: AGHT+IGdvBMccel8TG7klgV3DuvaBkwhbHKmD53Gu6mf6dfGm2PHu6RpBXAqCvxQBpn4SusmRZvgPg== X-Received: by 2002:a9d:3e46:0:b0:739:f3b2:80f0 with SMTP id 46e09a7af769-73adc5b2b6amr1947670a34.12.1750865761026; Wed, 25 Jun 2025 08:36:01 -0700 (PDT) Received: from localhost ([2603:8080:b800:f700:3ee4:904:206f:ad8]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-73a90c921a7sm2244712a34.34.2025.06.25.08.36.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 08:36:00 -0700 (PDT) Date: Wed, 25 Jun 2025 18:35:59 +0300 From: Dan Carpenter To: Lorenzo Stoakes Cc: linux-mm@kvack.org Subject: Re: [bug report] mm/mremap: complete refactor of move_vma() Message-ID: <9fbcc43c-736a-46f7-a376-65fa8c245527@suswa.mountain> References: <2f035b94-ab84-427a-b8a0-5f0274e8b8b9@sabinyo.mountain> <01784ef6-1520-4a00-8539-e1705c1be7d6@lucifer.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <01784ef6-1520-4a00-8539-e1705c1be7d6@lucifer.local> X-Rspamd-Server: rspam11 X-Rspam-User: X-Rspamd-Queue-Id: 097B54000E X-Stat-Signature: ngyitnebmase8rwuopz6kfaag1mgqjzk X-HE-Tag: 1750865761-610405 X-HE-Meta: U2FsdGVkX198TseynGxLzsbf0fhWqjNiSat5I3ASQV5v8KFQ87be2MQ2LNuRbEB7Fyg9Pp8rw8YMWZwCkEmvEEqojg740q/CytBDVruDoD4IQBN7hfBCEf0bTRa5BQGgLzguiDwdX2SobZ+nNskiRzZb6yGXm3Qkgpj0cuUiCkNYtcRJgWVro1vp6Iz/ryMB1X3z7k3WvKQmG59dbeKSz0r5f4Q0dGHZ83qww5aF/QCU1jShoWcz/jERkJKK+G3p977BqPFt5volUwg8wtQPD9sXVaPrqOCjKimStWj3a36wnmq992fjOsrNRpAHOp0oN/WWA4L5o9Ao32nVXVe9CR4VXdj9Zd9WZeWPst82eHsqYuDg7uEbMF9DEMhe5HQWLehPGuuXa+hj3k5Kia15WYUtysxedzh8I9Rd4o3cKdN7AabzFkRnO3TbogQRIDGdIXX1GvaL8RG0UXWg+KCSSIjHGxeVXpDJ0720kOUvoVNmh+8IBUyZTnDMgzrR3WytKXtopHphyIQHc4NSS/rFATX4jtYhQW9Ztq6U6ZLl0pQMsSXSJwUFSDAGIoIzmfCbS0UlNbJF7VhD2oYfvzD/JmHHyNJaJRHq9IRnDEwd4QYvI4abNoG7/1SfYBc/Tww4WXzBU1ZzNNzeQmkzxsm6BB5WW8CP19TPkw+ZCH3dhtSrqeULVvS6qnKqGFKIajWPsxLhmqjhOW9fTKvnGXwQBP8B92GfOtxEdXgdsCml4FpjMl535S4h4UURE6OopmJMyfyNfexKCbnBYf3MIkLoc71Ligsz+8iPEZK+szPp54mhDhMhanS1hRtNwPDJPpg2iBeCEkz7MdSY43Yu86mWtOpbd7uJbdBhYrDE28V5tD9RNOzXVcN2GmVPcV4fZfWNcJEVEtEgbbltMcpbUobfRD0ZXacSOS6kk5aqUkWtJDdw/yHt7Q+4tbzDHcqBFf75L8bD2TAUO4dEOr28b6v e2kfiVGQ YxaEqxnSuLpPDZTg5lD8QKWksOZpKZXmyB2HFxZ1OFm1TXUHx41TK78X2Jpx9KbBQ2dNlS3IttXMKVyAdDu1bHUewJkjF7WESsWP5i+Un0jHE1gbZk2WY5C3w0pEFl/2fwm5qAs9OsfgMG9NbZCQOn85C7ILmFvRNkSCuMuRi/tHzdcdH9uOyTx/syXEYkvzt7qZFw8BR3Ibu5Kdj+PwemBjdDLs/tRdYfmvoBdQZEEYXXWUUVRYCp1V1/GqsEucTaneGncBYsNGDoObk3ftvWbsMdLkzZQxCmQL4cnvtlV/cwobdHktrMdAyxoi8Q6q2L7Ya6pHq8K3T9o3RBsSnF2TuxmxzNt8r0btqbBfT5yFyxNgIgpiIkaqCwg9aY0WuNH62 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: List-Subscribe: List-Unsubscribe: On Wed, Jun 25, 2025 at 04:28:51PM +0100, Lorenzo Stoakes wrote: > On Wed, Jun 25, 2025 at 10:22:49AM -0500, Dan Carpenter wrote: > > Hello Lorenzo Stoakes, > > > > The patch b714ccb02a76: "mm/mremap: complete refactor of move_vma()" > > from Mar 10, 2025, leads to the following static checker warning: > > > > mm/mremap.c:1920 move_vma() > > error: uninitialized symbol 'new_vma'. > > > > mm/mremap.c > > 1895 static unsigned long move_vma(struct vma_remap_struct *vrm) > > 1896 { > > 1897 struct mm_struct *mm = current->mm; > > 1898 struct vm_area_struct *new_vma; > > 1899 unsigned long hiwater_vm; > > 1900 int err; > > 1901 > > 1902 err = prep_move_vma(vrm); > > 1903 if (err) > > 1904 return err; > > 1905 > > 1906 /* If accounted, charge the number of bytes the operation will use. */ > > 1907 if (!vrm_charge(vrm)) > > 1908 return -ENOMEM; > > 1909 > > 1910 /* We don't want racing faults. */ > > 1911 vma_start_write(vrm->vma); > > 1912 > > 1913 /* Perform copy step. */ > > 1914 err = copy_vma_and_data(vrm, &new_vma); > > 1915 /* > > 1916 * If we established the copied-to VMA, we attempt to recover from the > > 1917 * error by setting the destination VMA to the source VMA and unmapping > > 1918 * it below. > > 1919 */ > > --> 1920 if (err && !new_vma) > > ^^^^^^^ > > new_vma isn't set on the first error path in copy_vma_and_data(). > > Hmm, the first error path is: > > if (!new_vma) { > vrm_uncharge(vrm); > *new_vma_ptr = NULL; > return -ENOMEM; > } > > Which explicitly sets new_vma = NULL (new_vma_ptr = &new_vma) > > The final return there is: > > *new_vma_ptr = new_vma; > return err; > > Which also sets it. > > So I'm not sure what's wrong here? Am I missing something? > There is an earlier error path. 1750 static int copy_vma_and_data(struct vma_remap_struct *vrm, 1751 struct vm_area_struct **new_vma_ptr) 1752 { 1753 unsigned long internal_offset = vrm->addr - vrm->vma->vm_start; 1754 unsigned long internal_pgoff = internal_offset >> PAGE_SHIFT; 1755 unsigned long new_pgoff = vrm->vma->vm_pgoff + internal_pgoff; 1756 unsigned long moved_len; 1757 struct vm_area_struct *vma = vrm->vma; 1758 struct vm_area_struct *new_vma; 1759 int err = 0; 1760 PAGETABLE_MOVE(pmc, NULL, NULL, vrm->addr, vrm->new_addr, vrm->old_len); 1761 bool relocate_anon = should_relocate_anon(vrm, &pmc, &err); 1762 1763 if (err) 1764 return err; ^^^^^^^^^^^ Here. 1765 1766 again: 1767 new_vma = copy_vma(&vma, vrm->new_addr, vrm->new_len, new_pgoff, 1768 &pmc.need_rmap_locks, &relocate_anon); 1769 if (!new_vma) { 1770 vrm_uncharge(vrm); 1771 *new_vma_ptr = NULL; 1772 return -ENOMEM; 1773 } regards, dan carpenter