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 C6A8AC021B8 for ; Tue, 25 Feb 2025 05:29:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3EEFC6B007B; Tue, 25 Feb 2025 00:29:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 39DD76B0082; Tue, 25 Feb 2025 00:29:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2BD2D6B0085; Tue, 25 Feb 2025 00:29:16 -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 0DB726B007B for ; Tue, 25 Feb 2025 00:29:16 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id BD7AD1A0A50 for ; Tue, 25 Feb 2025 05:29:15 +0000 (UTC) X-FDA: 83157338670.12.F92BA52 Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf17.hostedemail.com (Postfix) with ESMTP id E8D834000D for ; Tue, 25 Feb 2025 05:29:13 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=FhsvsjV4; spf=pass (imf17.hostedemail.com: domain of akpm@linux-foundation.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740461354; 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=7787/rlGRkJ2DSNE3oG7GTDK4EwvYI7lMwCOzpAz8RQ=; b=SMIqKttvqm1+08swTFIphYHcpT934AvTIqOeDX2yBoTg18DVoXo0HtMCgLXYo7Md4ItKlo bODJEVzDvb7dqB2jpNGoSMvzYZCxIRIRRuZiaZfl/XhchWhMowAEu6sDxdCljtDEA/0IEb gwQd+YmJsr2TsKEecxGyGUnQgBt1s4E= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=FhsvsjV4; spf=pass (imf17.hostedemail.com: domain of akpm@linux-foundation.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740461354; a=rsa-sha256; cv=none; b=tqBf8hh+kIbBRpXpLEweNANiZZoEfOR5RCHhZlgIqm166z4GVc3P59itHmwGzEMauRXF/d /7xLrv2DuDsFv+iyasyaFRPOxSXyLJvN3zj2xey/Hm+Rs1tMANU8LV6/PkCS3IvOJUTuUA lYPdzKHtd5gox+ScK7iwgwFPyaPyg2k= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 8EE7761225; Tue, 25 Feb 2025 05:29:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5A4C0C4CEDD; Tue, 25 Feb 2025 05:29:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1740461352; bh=+mKSZR6zEs4wgfbO3W4SKrFyEQYO7+F+KWIyKi04Dl4=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=FhsvsjV4qRRAjIBz24GRVjhCl8fqgvR3SA2/SnhRRfb6T4m7paPnT+qL1rvFveETi r15ahiIo+Tm3D7oDoXel2TbVjRmCkoXU/dqgnzQMc480b7mua7ZsSKisJjpxcIlf2W 8qyQpKksx+pLkSt4I+zcZBvXlLmnSAKB4XJ8uK9I= Date: Mon, 24 Feb 2025 21:29:11 -0800 From: Andrew Morton To: 76824143@qq.com Cc: linux-mm@kvack.org, Hao Zhang , syzbot+0cfd5e38e96a5596f2b6@syzkaller.appspotmail.com, Michal Hocko , Vlastimil Babka , Mel Gorman Subject: Re: [PATCH] mm/page_alloc: Fix uninitialized variable Message-Id: <20250224212911.ba73c0501814c554a9a8ecf6@linux-foundation.org> In-Reply-To: References: X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Queue-Id: E8D834000D X-Stat-Signature: h8u6sfceq16nisy711b8dtrh5fzg7tgh X-Rspamd-Server: rspam03 X-HE-Tag: 1740461353-831883 X-HE-Meta: U2FsdGVkX1/jiHyRBqYJMeg3iOdu0J+iRfcHrpqjTy9M/2OiIGQHwtDsoLvxUDbzA1oMc2Y+90E6b6T1Lxq8ipNJlqGm6HRQFXuyqvMva0162lySbal3pkgjW1srosz0p1uSj0dLwJvQYPlgjYgYov+LHz3Sj/sx5NtO+aZAOLZnvXaTxF4uCXlWf7A40Vco5sYhLkCNG/dEx1tyrXk//tJNho08YJMbcnbupHU+1vCJdtil7RYCN4Y0E2Wctqi2FyP3OGQHwK26WJzlIJHy60DfzJEvjtmkAVGhjXh33wv7VQ7MvqK5SsRLi+EszgMUzFlUz1GOzW/xmgq4ITNsSLP/qb1+cwXhNxr4EmMSGAjpAMBTpOHHyrjDDpb+RyjGX5Ba4vjtdUAOHm0gslPBks8pYFPSpE+vbAzGRX+yiXWaVuYYYvtmOp5l1EFNcYdmdnTO20p/roEhO8Z3ZxmXobfomVnbivUPVnrloDpiSpu25DcuwGBlPcwPHsC7cUk4Lxw+OO9e8ioY6grN6QK89+H9E/tMhOaORMAdPdl9U4Wx5eIaPCS/UCeQHLQpFshslkDhM+DO7OQ5SSykM2PtKc2KjV8CYDi+xE6TYcWocnzF7Yvli/cd3rVoVRVFHmpWhxBjTzxzSRwvTxSVF76W+flQjR0oMlLWpLg2Z9mvBAS+4cgWsFu7uPB0IRnXXjLqXDBjcCrL7SZ0vbzaM4M2TTZidNGZp/+MxWINyUuaDGhMapxFiTaoYPmNFUucsBPJLerB0M/eeIlVZcO7qiOzYial0T1uHzYR2GyoAITa0/sIfFjMQ09qTR6Ix6mte2wrWEF2g4uwSIkrqKev4XyvdSzYAZhmEhyKrcsWm2FuoZc387GACkQMly9DORZLtabECXvLrl24CuyG54BZ8uEWEM9CzG9WRRNkpD0GgS6sgzd/Oz4d0DVyJX31UFrhejImkfiD2yih/uEXgRhogng DZTYNigx 5BgIuRmLB3WR96Hwi9vBeqfeWGKN8CLW94V2/w32pL5a8MP0fMrPfDRgHvCqT0WBLKqPUE2N50eq0PQ2yxcD2Av8fzPLX8QFCdrYvUj6B+DpHlX4ZuXRNN+hVYmq7Cl5auswumTsELQ8FU7R8wcZQO/vKtQTHQYpR/sggk0gqszz2+f6bru/X40QgdJ7/h3N89RINEL77CLYyi15c0znq6Xg1qqbAjZFI2IZ/cbqKO4KISuY9FWf24bVOsvIE32QXhd3pGOAe8kqvDDu9pmssA4qGDQYxdmiH7ISFbcu1nObas4AWgm1Qv9YOw6TBBajTuTzNjeK8rbY89J46UIpWiXS1pSVkkBZERI3N4MsX4vwOuvSDc+T91X5kz7YtvU0PavP5rXF/teZuGVS4G21xphuIJn+KVJBm+Y/zefTMfTbg0y7eeqtg8eFgBHb0cUTCq7A0QbpkgegMsbHgxQ5iieFUoJHxsgrJ1ju0mrp2xZ+qC9ERi0svfFYwDiWYVe3oJw08BsappPr2/mImS5w3qmFAhA== 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 Tue, 25 Feb 2025 10:20:34 +0800 76824143@qq.com wrote: > From: Hao Zhang > > The variable "compact_result" is not initialized in function > __alloc_pages_direct_compact if order is zero. Thanks, this could be rather old. Or did we do something recently to trigger this? > If order is zero, initialize "compact_result" to COMPACT_SKIPPED. > > BUG: KMSAN: uninit-value in __alloc_pages_slowpath+0xee8/0x16c0 mm/page_alloc.c:4416 > __alloc_pages_slowpath+0xee8/0x16c0 mm/page_alloc.c:4416 > __alloc_frozen_pages_noprof+0xa4c/0xe00 mm/page_alloc.c:4752 > alloc_pages_mpol+0x4cd/0x890 mm/mempolicy.c:2270 > alloc_frozen_pages_noprof mm/mempolicy.c:2341 [inline] > alloc_pages_noprof mm/mempolicy.c:2361 [inline] > folio_alloc_noprof+0x1dc/0x350 mm/mempolicy.c:2371 > filemap_alloc_folio_noprof+0xa6/0x440 mm/filemap.c:1019 > __filemap_get_folio+0xb9a/0x1840 mm/filemap.c:1970 > grow_dev_folio fs/buffer.c:1039 [inline] > grow_buffers fs/buffer.c:1105 [inline] > __getblk_slow fs/buffer.c:1131 [inline] > bdev_getblk+0x2c9/0xab0 fs/buffer.c:1431 > getblk_unmovable include/linux/buffer_head.h:369 [inline] > ext4_getblk+0x3b7/0xe50 fs/ext4/inode.c:864 > ext4_bread_batch+0x9f/0x7d0 fs/ext4/inode.c:933 > __ext4_find_entry+0x1ebb/0x36c0 fs/ext4/namei.c:1627 > ext4_lookup_entry fs/ext4/namei.c:1729 [inline] > ext4_lookup+0x189/0xb40 fs/ext4/namei.c:1797 > __lookup_slow+0x538/0x710 fs/namei.c:1793 > lookup_slow+0x6a/0xd0 fs/namei.c:1810 > walk_component fs/namei.c:2114 [inline] > link_path_walk+0xf29/0x1420 fs/namei.c:2479 > path_openat+0x30f/0x6250 fs/namei.c:3985 > do_filp_open+0x268/0x600 fs/namei.c:4016 > do_sys_openat2+0x1bf/0x2f0 fs/open.c:1428 > do_sys_open fs/open.c:1443 [inline] > __do_sys_openat fs/open.c:1459 [inline] > __se_sys_openat fs/open.c:1454 [inline] > __x64_sys_openat+0x2a1/0x310 fs/open.c:1454 > x64_sys_call+0x36f5/0x3c30 arch/x86/include/generated/asm/syscalls_64.h:258 > do_syscall_x64 arch/x86/entry/common.c:52 [inline] > do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83 > entry_SYSCALL_64_after_hwframe+0x77/0x7f > > Local variable compact_result created at: > __alloc_pages_slowpath+0x66/0x16c0 mm/page_alloc.c:4218 > __alloc_frozen_pages_noprof+0xa4c/0xe00 mm/page_alloc.c:4752 > > Reported-by: syzbot+0cfd5e38e96a5596f2b6@syzkaller.appspotmail.com > Closes: https://syzkaller.appspot.com/bug?extid=0cfd5e38e96a5596f2b6 > Signed-off-by: Hao Zhang > --- > mm/page_alloc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 579789600a3c..7f0136a404b5 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -3675,8 +3675,10 @@ __alloc_pages_direct_compact(gfp_t gfp_mask, unsigned int order, > unsigned long pflags; > unsigned int noreclaim_flag; > > - if (!order) > + if (!order) { > + *compact_result = COMPACT_SKIPPED; > return NULL; > + } > Maybe. Or maybe __alloc_pages_slowpath() shouldn't be passing an uninitialized compact_result into should_compact_retry()?