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 62DC2E77173 for ; Fri, 6 Dec 2024 11:10:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CF4FF6B024B; Fri, 6 Dec 2024 06:10:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C7B556B024C; Fri, 6 Dec 2024 06:10:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AF46E6B024D; Fri, 6 Dec 2024 06:10:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 8DD5C6B024B for ; Fri, 6 Dec 2024 06:10:53 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 38FAE1A1AFC for ; Fri, 6 Dec 2024 11:10:53 +0000 (UTC) X-FDA: 82864266408.18.BDA3A70 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) by imf20.hostedemail.com (Postfix) with ESMTP id 944371C0006 for ; Fri, 6 Dec 2024 11:10:31 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=E+n+WCm8; spf=pass (imf20.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.216.51 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733483433; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Dr4b8PyEGXbChwKoeSYODOznwO1m7fO+WbC3PoXS25o=; b=hr6L5K/F51JZFnZRE8td+I/KEyG8m3Jdd0ZDonbz6Libo9s8iqFSTinfiA9llWAqZIM7R7 QKbrpwaMPheOzNAbtL/xQeIAMb3EABpPfOa59YPL0YY/C8Zi7PCQUfb2Tmi6JrdTC68yRw bEl2cBtjYuvp39aTRCVRPAaiVyVOHWg= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=E+n+WCm8; spf=pass (imf20.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.216.51 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733483433; a=rsa-sha256; cv=none; b=mdOFPK1nU6tE3sAEx4u4qlUSlf0YWO/m7jxm5/hTQgausI/o8JxUsnVLFy78JyiWGc96Ga 5Av+622qBjY1zHspbGwtDIu6kMPjcGH+mBVuoOSlFVqLLDNLYxfr8x1oHf96ZRN3RfJhmw P2VI/Wk5YAHW9+SjB9zckfO0ZclOb6Q= Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-2ef714374c0so249084a91.0 for ; Fri, 06 Dec 2024 03:10:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1733483448; x=1734088248; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Dr4b8PyEGXbChwKoeSYODOznwO1m7fO+WbC3PoXS25o=; b=E+n+WCm8RqyQIpuwD/V0taTC/9ko6I7KAx3auB7jNAH6aSkEq0e2ogjS2Y1jM5NxPq upezir5PDd6XFJn9p/+ZouxhWFRjSIzoBp4/l4tTNT2riugISnmy+4SSyYZxOblOONY4 vWFimpxFBWCZJdsgfbmNqLgGhFwTeB4pNU4gdJJd0nuRkqyIC+/OJOcEyV3hcOluA6kb JUeK1wp9k41CAtj44PgZjDnSom4TVMV2SpDMd0C4AVtPiZoqmHnKtrPmHwXvldGAsDjJ vETmDttUwwK7NbgwK2MnQdwlrd5Qg8Q/VgtwBJLgh8pgB2hdHjb+/AfOZzR/pYepATy4 Pwqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733483448; x=1734088248; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Dr4b8PyEGXbChwKoeSYODOznwO1m7fO+WbC3PoXS25o=; b=FuBp1WjoYlpLwRxY5MRMQJJ9w5npTboSJ4fGha17sbzgam6LdF8iiugI3BpcTPkh0F KlaMyKiqCW5WQ+yHvl6pVa+QXG3DCHT4TU0FXXczXwwoNYB7nfOftsv6Fjg24Jy3eQrN v5MxmcrSczsCBRRiFvfENMhPdsapzyGVWn5CV75wv8SUPYzFN/tPBjrZWw/XTpVPatvh QogmwovNQO8Vjnzsa/7Z1vYpVjeauGZDiNg0oGDcJVYbIp6+za302mz0TP2SRppWbL9Y v201MjCe6u4Hme1pjCh2/RtIg0+zMkJV9Ly0EnPeR/QCwfA4WjpH08cDav65ps+VDCB1 F51w== X-Gm-Message-State: AOJu0YykuQV2GMuHvqwPz/eL0QzX4Ck5WClZM/j3DhU6E8Ug6YpYzcBP FXt92/5Gzt6qCxQC+3b4K/pcWBl/7YcblH/35o79s4rrxlMmRYGCCMGXdTMcvSInZGmVHcDhYZG + X-Gm-Gg: ASbGnct16vzKcYkaZbtyRIm7Qh/uflKDvmXqoOYiH/z70KIgNBM8clOcmvXAa/iX9nM 8aWVGCvjpDhKvPKfJthMChprHzsy81dZ23RJBWr/IOF8Zi9B+VyFWQQ9f85/KoCLVti7nFXPhuO AToEFeE8mRBNNck8khs8R6GwfuPz1wGStenvSVd6tpPTEjYoTHYTcoyg7HK/F1zl981/JQp61oE sto4Av5R9s4fj6uL/AoMNsMVM2NTUfFfBiOR59wV6smAMQn2jsCtMV+WXomHMHtY18N2Wr2ma3v EK8= X-Google-Smtp-Source: AGHT+IG621sS4LMhYLPXIHiSqfxJpTsRy+Yh55u8TkLGT/E4klBUjWas518Npw5k7KooihWn2p0N/Q== X-Received: by 2002:a17:90b:3f44:b0:2e2:c2b0:d03e with SMTP id 98e67ed59e1d1-2ef68d99261mr4382026a91.5.1733483448005; Fri, 06 Dec 2024 03:10:48 -0800 (PST) Received: from [10.84.148.23] ([203.208.167.149]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2ef270080d9sm4869293a91.17.2024.12.06.03.10.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 06 Dec 2024 03:10:47 -0800 (PST) Message-ID: Date: Fri, 6 Dec 2024 19:10:43 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [bug report] mm: pgtable: reclaim empty PTE page in madvise(MADV_DONTNEED) Content-Language: en-US To: Dan Carpenter Cc: linux-mm@kvack.org References: <224e6a4e-43b5-4080-bdd8-b0a6fb2f0853@stanley.mountain> From: Qi Zheng In-Reply-To: <224e6a4e-43b5-4080-bdd8-b0a6fb2f0853@stanley.mountain> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 944371C0006 X-Rspam-User: X-Stat-Signature: ytgtk8ttyost9939d7tdmwig1bicbg9n X-HE-Tag: 1733483431-735342 X-HE-Meta: U2FsdGVkX1+aHWiaRUc1FDM2I3vKyqVG7MU/fe5BulK9Da1pDwKlbHdxNfvtZejcQMyNn/tu0hqopf81aLZkDsJCRfAYcaHPNygI4jyetgj8Uid4cXKG4CMlFX3OVnXzwC96hEW/YuEVoMLxz4gNnaNopu43hWZz0TuluBQQG1Ja6r/n6yiaAaI66nVq0VdwbQbcIZobWxtxKRmiQJvS2AEXGtX0do98tJVgFR824r4E8aHRY1/BsbEgY5ntifpqlkLioX0MsLGC732Hfk+2rP6bi59NA4He3cp2tCZxMyhKxAHNQnLQqZhTANiLaEGUTWdT/UoLHHqPfNhWOZXXSOnQZsIiRWL8xRnb/T/JbZhj8bvH7OZ7n/+G6eNFBPhxEnX1q4HAAwX0YCXj1c+oNJZlYXwA4cAJOCCCYhAVq5IAq7i6Q3jtjdr5HqQhPwXZGBRe06r/qCY7JVMJ2dmI/vPZ6qFTclSZQvmgCy2mVeOvPa3nzn1QHM00Qx1QRQiyDLwcaokdlaMg2hY+PA1Jd2fDGzoyyf5qyNAcjSOzkdtLesaUbkh3wncC8Pvslg7FbpMOI+qk7SbLeVc8OyeHER5XM8cwYU7yga69xDUDvm3HIzI3CIJxt1YWBLSxZAr0xCaEpGC+Xwne3B9UDwllK3YesIjPRy0GLKavtdljApeY8DkTs05yRolm+TK+7rGdXvEe/m5OVjBz88OEp8umtFgGtj8YQVZFa81F3lWL3OjUJjZ7m3Fh4dXRDtAh+/yroUS9Ey2kk7hABIN21CGaE6vcPTjGUcLt8cEbHmxoG84tbk9+LFTBuFUo2Qp+F+zBwZLcO0NsRrF5Qw9Qhk480CXDvomUyONwemc0wAGOAgfv21Selq9eh76OMA/FrT8n5ZmzxJJ5rEvThxIIKWxSEgqTiTEaOdjeJ/elktE7atwnNnBKk/vw+dV29Hid1A5ULJDvcmf53m1ZgJ/Pt3d xOVc6ot3 Nr+LVHK4VppobfV+wScdST8Zk+PHypjDxYHA7IiLzM1bYoQCTmhbkr9STOYRdLhReQkCqJtgIf/eejDotSX/pp6bUJ8prJb3nWq2qjOnkPk1AcDJ7B6wnOrl6xP41ekGbwIoknMm0iqgNzSwJVK5oImplsI4nLLNMH3YMZd2Veehf/dRE5mWfS7npU4fu6soYhcqwk8XoJ1ijGFHbKXw/nJPHmduvTWgz2gkvGmL4m5gJ/fhnrXbseTJm7oIH2l57Nr1MaWdjthBtN11GIzqWclNaA2wcw4gwi81GLp+GV6vqvL/uGh5KKjT0ZxDPrWSEOe6nVZsaSaWMh1MwaOo++R/ZdfLKavsB8KcLhswf4oUESZVBQjRuMripIz3mVYS87Veg 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 2024/12/6 18:46, Dan Carpenter wrote: > Hello Qi Zheng, > > Commit e3aafd2d3551 ("mm: pgtable: reclaim empty PTE page in > madvise(MADV_DONTNEED)") from Dec 4, 2024 (linux-next), leads to the > following Smatch static checker warning: > > mm/pt_reclaim.c:69 try_to_free_pte() > error: uninitialized symbol 'ptl'. Thanks for reporting this! Will fix it like below: diff --git a/mm/pt_reclaim.c b/mm/pt_reclaim.c index 6540a3115dde8..7e9455a18aae7 100644 --- a/mm/pt_reclaim.c +++ b/mm/pt_reclaim.c @@ -36,7 +36,7 @@ void try_to_free_pte(struct mm_struct *mm, pmd_t *pmd, unsigned long addr, struct mmu_gather *tlb) { pmd_t pmdval; - spinlock_t *pml, *ptl; + spinlock_t *pml, *ptl = NULL; pte_t *start_pte, *pte; int i; > > mm/pt_reclaim.c > 35 void try_to_free_pte(struct mm_struct *mm, pmd_t *pmd, unsigned long addr, > 36 struct mmu_gather *tlb) > 37 { > 38 pmd_t pmdval; > 39 spinlock_t *pml, *ptl; > 40 pte_t *start_pte, *pte; > 41 int i; > 42 > 43 pml = pmd_lock(mm, pmd); > 44 start_pte = pte_offset_map_rw_nolock(mm, pmd, addr, &pmdval, &ptl); > 45 if (!start_pte) > 46 goto out_ptl; > > ptl is uninitialized on error. > > 47 if (ptl != pml) > 48 spin_lock_nested(ptl, SINGLE_DEPTH_NESTING); > 49 > 50 /* Check if it is empty PTE page */ > 51 for (i = 0, pte = start_pte; i < PTRS_PER_PTE; i++, pte++) { > 52 if (!pte_none(ptep_get(pte))) > 53 goto out_ptl; > 54 } > 55 pte_unmap(start_pte); > 56 > 57 pmd_clear(pmd); > 58 > 59 if (ptl != pml) > 60 spin_unlock(ptl); > 61 spin_unlock(pml); > 62 > 63 free_pte(mm, addr, tlb, pmdval); > 64 > 65 return; > 66 out_ptl: > 67 if (start_pte) > 68 pte_unmap_unlock(start_pte, ptl); > --> 69 if (ptl != pml) > ^^^ > Uninitialized variable > > 70 spin_unlock(pml); > 71 } > > regards, > dan carpenter