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 6B0D5C54FB3 for ; Mon, 26 May 2025 12:32:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B65416B0083; Mon, 26 May 2025 08:32:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B15E66B0088; Mon, 26 May 2025 08:32:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A53796B0089; Mon, 26 May 2025 08:32:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 85DE46B0083 for ; Mon, 26 May 2025 08:32:50 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 23613E5DB3 for ; Mon, 26 May 2025 12:32:50 +0000 (UTC) X-FDA: 83484998100.07.E99070E Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) by imf23.hostedemail.com (Postfix) with ESMTP id 2DEEB14000A for ; Mon, 26 May 2025 12:32:47 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=yyxrow8H; spf=pass (imf23.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.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=1748262768; 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=cX5NeMJ07Z7hPjhpKLdgFWf1Bt2nqdKYkwaeZMAZl5w=; b=V6YLY9nOQLEBDwjTAMn5rU76+s28lVEqrUv5cFb6/vBwo/p8r0JLwkJg/dlAegv6CQv3nb H1LL956Gzc9Umt7VjRojVTCEvqnkThZT3ND4JEKAKo295cjKhNbFcNVcVT2n+00T527PmZ AbyRl8K0Znkz8GJH3z9v59gUOJ6NQd4= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=yyxrow8H; spf=pass (imf23.hostedemail.com: domain of dan.carpenter@linaro.org designates 209.85.128.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=1748262768; a=rsa-sha256; cv=none; b=pcl8HPp2f1tHv8vYMe9QDaNxyJHR6PePG1r/+WfqdFqCqD6lsHHI+WCJZJ7JZ6xRDQQOP+ 5UpaCfawLnTCiaqrn3hhL78rHfwiOCYU6nMVNY4KDgmpKnXTEtzaGbNFbwlQHE/Q1+XfZJ 4kLKSxfzEG/5z2ICrzZrdCQU1UcQqMA= Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-43d0618746bso17173475e9.2 for ; Mon, 26 May 2025 05:32:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748262766; x=1748867566; 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=cX5NeMJ07Z7hPjhpKLdgFWf1Bt2nqdKYkwaeZMAZl5w=; b=yyxrow8HOy91bFiZVyQSzaRc5AtxzmSe54yEIriGgjX1Nhf7MZCwiDEbGOuJf228hO zCgLIKM1Tepfl5hZyGU82YrKUr7xCP/Tr11u4KpbReUGr6/ew17cl4qU3RNHfcvkLA+5 CrLlOMIgHfvN/qfGLJcsdVj9pkaMq9YTnlf29TohqEVz5D4+WwpwYuva+/H4hhEbR4Pl f+YKPJT9NO8ecCHOCeaT8iPwXj7fyFjiprd6h43QTzxK41lryESmx92XhC2GzfMeiQUS F4DvDUb0yIcOzH79/XnA1/1o6SdYA0JZUoy50kH6ioPzT4FGaCAzot2PIBFOaqoZhL/y Uv5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748262766; x=1748867566; 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=cX5NeMJ07Z7hPjhpKLdgFWf1Bt2nqdKYkwaeZMAZl5w=; b=iwM8YBNUZeh5y43aIBlU01z99em750162X9cxAA2jFQ+oBtVcOSzbxtikzpI63EvId QKVGFJ2BYvZDAUCFo8znai/fGvoKZ++HXZqI2+y4VbD2FcDPyGzw4ugGKKDpGVfPAqrQ RJmUeYILg4GTJhonpd+taZi6H3DP4jXnUg1CJkmjhSlcCYbxJjjSGdht9dM1lU1VYpJ8 BbbkX/xAFwTp+LiQdLFN+xfdiO21SDX/X/Q91k4o/ubK6zUvX+FB0oxinZlWZMYEwCjR 5rHP/WKs3VYlSZDtFcMGmv9ddPuIGzU8ow4LI1k5v5lzysZRnrCzY1Yhhg2T73v/fcVY UE5g== X-Forwarded-Encrypted: i=1; AJvYcCWyJDQ7y/2T5Auf9zphYUnY3nkKX+h2SnDPePbYsg8yuqYRVNIV1JyCRQtZ+g8oEo2vzOHLBYvchQ==@kvack.org X-Gm-Message-State: AOJu0YwBAzGeAefUHpjmpRzk9sX9hs/Cj47Uxvhj2frilpH9jlGMJ5Yz vu+afb6KXSFGDJFBJv7R2lN/fDuSCcNxkWXewgbJiMc8cfjDDGnefsJ+Z2ao5o/3So8= X-Gm-Gg: ASbGncsX/pcQn5iNbvZJwEV+Gs5HsBhu71kLZKa54uW5OnVqmuQfwKJ7TLb4Yj1emq2 gscJn/zpgwkg8U02KQB0LgmUjigqNVh2/Up7VVebRmA5rRdf8NSSEfIM2RfDRxHwqGAv3XzQkdu PNzCBl+RMekQPGgb0yKHe+Azevu6A3SAV8ktUzgYmwBNZe3G9RbYbn0+nnvLwOutovOxfCqSjcZ X6xdMF7xVHMz+PfWp1c8dTaYdrHwAKunWKN5P83e+QEUKL+htLg3DORTkow1AMwwhsAYZ3Tm4hL MLZ8eEV3Z6Ep3Xs3YcNNhM6YZV7fqnTaH6owHr3i8yfqeI73MFcx5NlC X-Google-Smtp-Source: AGHT+IF6jnHUeJLMem7dFDtWplrd9BhhtwxXTTdVE3bJLYOHTU+Nm8qMT01la8e5pMTT4rhXoGFI1w== X-Received: by 2002:a05:600c:4e4d:b0:43c:f3e4:d6f6 with SMTP id 5b1f17b1804b1-44c94c2a5famr86772495e9.31.1748262766419; Mon, 26 May 2025 05:32:46 -0700 (PDT) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a4dc7e69c8sm1707374f8f.95.2025.05.26.05.32.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 May 2025 05:32:46 -0700 (PDT) Date: Mon, 26 May 2025 15:32:42 +0300 From: Dan Carpenter To: Andrew Morton Cc: oe-kbuild@lists.linux.dev, Yu Zhao , lkp@intel.com, oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org, Linux Memory Management List Subject: Re: mm/vmscan.c:3504 walk_pte_range() error: uninitialized symbol 'dirty'. Message-ID: References: <202505152339.fBOfDPsi-lkp@intel.com> <20250523152705.2ecae09e834c66e1327d6748@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250523152705.2ecae09e834c66e1327d6748@linux-foundation.org> X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 2DEEB14000A X-Stat-Signature: ja1u3zhxy9zzqeohkncz7fyi39oxbgtb X-Rspam-User: X-HE-Tag: 1748262767-249423 X-HE-Meta: U2FsdGVkX18MQcrtJffAR9m3ka+mCcEA607rApdZ0Hvlsy0U0lYVjrGbfSFEFRCOCuTcSdLD7ISzFjIkIt8TL264gJhDgsMGro124JgaAKQHo+Ylxda0bq9FCW7goTD9T2ymbMyCYZ/qrE+z+mM0zLcyP5S0kAuDAINdAGWK8ik0xQ/gqzpiGblo+3QgUktgaXD54yI/fXxlLVEctvpIsmQrtbg+3u1bGOM8JsyBRlL+DBP3c97CAF+xYT2lKNckAwZagL93UTXSBZb8LEmAdnT9G7+Eoy+GO9yN2kMMys2tY27h588lKSmOXHBILf1sgAY76XPl1J8BiGGoqtXFCpKkl2X1Ew66btgUpvDIEyu1wHCyPYF2ubfPvj2fIX0nAiTuYIbdmKDyC2r0z47yArD4UGbXuW6nPNDxsjt1IDK3IZ+8S+C50guzTpKIvBsRvFPV1IUytdpBqmeg+bUKo57oB2jhzpgJYLv+j591+4FjUoLGKS9dA5jT4aajG4HclF2hVmzUH3rfSKUGbrMSwwWw4uShq+8pJcZX6Hu11sBZ99Y/fTKRfA64QdzIUJR0R7nN+BSm534dogLU80typ/IeRdQr692c+P9X3lA2G+6T38Whxu17roQZBheG7Y+iGBiRlaSP1L+B1LQdOpGxqozdDTAVouPP2jFPQtDa/F4U1IW2lySAK3geIB99+L6rC1JN68wEVkOCWNclrSBaPeOre6V6Na0AYTu4ZEypRGlclqUrlIxQbBet261ZmFsuILPYzU7wo2BNgzjjJmmsI4FURd3cwMLy/pyYolcMrV7g9v6opIOV9qMapjc+zA9k7GV4mn3gWz3GUQAX//+s0fdsSWoZxDvXAV8MgrVFqpnnndHRvLjII/SqfPOUVxv/tEHdMlf1DKnRbtO7iJSgu5TufbV4V78Ukb/s5Qpz9jPlAWOq24DdawK8AdXozKX9Jaaf0wiaMDvrp6OUSn0 0+2cqtmL yn4eyhAuJcHxyd4osjg3jAJ6qn+J6lzeh7xdSYwEtjcQqrRgom3Hk2+KvToQJBQPW2ZY9A3ktCoWlyYeeyJK+sqK2Vy79IaeE81PejmvsEI+JexdL/cN7YJ1+M8NRcMysGp6XvRUXMDfc88Hm9ZL9MusLiT01i0JC/ZKF4vUOJlKY/QfASGexNSQ1UW3P9snxA4/wec8u+E7xL2AG8esBEjY89pmcYOsELc0XMtP10qJaAxoklpqtcTnH6nfxG67NjeA8J/FuhshErHSNNCEgWGw12vA+K+649MMAnKg0sEer1xaWqdPQ7tjpp8U5LOzBUvPAqZvwBplg9VqbJcfWxE5LsIn9cqXc09eokooxA0FHaRBHCphG9WnRxA6Ynl1Ol76aoZGEASImApkFI4L4lCNtUUpBEpbuWqt5vPkbyTqfXIp8+dCB0ez6f9zAzrnROptpI8cmqwFRhbx7V5j8v5ByJt+DYDhEOAiAYFKAp719G2M= 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 Fri, May 23, 2025 at 03:27:05PM -0700, Andrew Morton wrote: > On Fri, 23 May 2025 13:47:54 +0300 Dan Carpenter wrote: > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > > head: 088d13246a4672bc03aec664675138e3f5bff68c > > commit: a52dcec56c5b96250f15efbd7de3d3ea6ce863d9 mm/mglru: fix PTE-mapped large folios > > config: sparc-randconfig-r073-20250515 (https://download.01.org/0day-ci/archive/20250515/202505152339.fBOfDPsi-lkp@intel.com/config) > > compiler: sparc64-linux-gcc (GCC) 8.5.0 > > > > smatch warnings: > > mm/vmscan.c:3504 walk_pte_range() error: uninitialized symbol 'dirty'. > > mm/vmscan.c:3595 walk_pmd_range_locked() error: uninitialized symbol 'dirty'. > > mm/vmscan.c:4215 lru_gen_look_around() error: uninitialized symbol 'dirty'. > > > > ... > > > > bd74fdaea14602 Yu Zhao 2022-09-18 3484 for (i = pte_index(start), addr = start; addr != end; i++, addr += PAGE_SIZE) { > > bd74fdaea14602 Yu Zhao 2022-09-18 3485 unsigned long pfn; > > bd74fdaea14602 Yu Zhao 2022-09-18 3486 struct folio *folio; > > c33c794828f212 Ryan Roberts 2023-06-12 3487 pte_t ptent = ptep_get(pte + i); > > bd74fdaea14602 Yu Zhao 2022-09-18 3488 > > bd74fdaea14602 Yu Zhao 2022-09-18 3489 total++; > > bd74fdaea14602 Yu Zhao 2022-09-18 3490 walk->mm_stats[MM_LEAF_TOTAL]++; > > bd74fdaea14602 Yu Zhao 2022-09-18 3491 > > 1d4832becdc2cd Yu Zhao 2024-10-19 3492 pfn = get_pte_pfn(ptent, args->vma, addr, pgdat); > > bd74fdaea14602 Yu Zhao 2022-09-18 3493 if (pfn == -1) > > bd74fdaea14602 Yu Zhao 2022-09-18 3494 continue; > > bd74fdaea14602 Yu Zhao 2022-09-18 3495 > > 798c0330c2ca07 Yu Zhao 2024-12-30 3496 folio = get_pfn_folio(pfn, memcg, pgdat); > > bd74fdaea14602 Yu Zhao 2022-09-18 3497 if (!folio) > > bd74fdaea14602 Yu Zhao 2022-09-18 3498 continue; > > bd74fdaea14602 Yu Zhao 2022-09-18 3499 > > 1d4832becdc2cd Yu Zhao 2024-10-19 3500 if (!ptep_clear_young_notify(args->vma, addr, pte + i)) > > 1d4832becdc2cd Yu Zhao 2024-10-19 3501 continue; > > bd74fdaea14602 Yu Zhao 2022-09-18 3502 > > a52dcec56c5b96 Yu Zhao 2024-12-30 3503 if (last != folio) { > > a52dcec56c5b96 Yu Zhao 2024-12-30 @3504 walk_update_folio(walk, last, gen, dirty); > > Seems to be notabug because last==NULL on the first loop and in this > case walk_update_folio() will immediately return without touching > `dirty'. But gee, I can't blame smatch from getting fooled by this. That's true, but if walk_update_folio() we not inlined then we would still consider this a bug. It's undefined behavior in the C standard to pass uninitialized variables to a function call and also the UBSan checker will detected it as a read at runtime. In production systems the compiler is going to set "bool dirty = false;" at the start of the function because everyone runs with CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y. Should I send a patch which does that explicitly? regards, dan carpenter