From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EDE8327EC9F; Thu, 3 Apr 2025 19:08:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743707282; cv=none; b=lMHDXcQ3SZaCD8PD6dJI4HbibfYeDfjIHK1hvfjWdyhQuDS2HGF5ESPdfCmom5jbtMkvFu23+7BLIHyI/1Aoq8bJ8UQK+15OYHSuwSKR/SABmtFJlnil9Um7vsqtmTx9Xv+jo+PEwROUOGNwxqdGHejNYJGmVTR6qyLUg415y28= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743707282; c=relaxed/simple; bh=EA7Ez8Tc0aaKXscV+78M5q/uX17RpyefBZgXtCBt7uw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=nVdASARO/RxSbp93E7nuzBFLaln3+MTAZTUCexeQzgqMFOLvAa+/kLVPE8eoFHDFKLEODtWqFoaG/XoJCnBjQAEU5PpvYtMtY+dwzGDfa+NdLANkbNT+f/waBFq/DYzquF9AxxA/2XC7bQNfgHVDsKjYLGFNHE29x6k9ezMJ3/4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Na3yaw6e; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Na3yaw6e" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48B1EC4CEE3; Thu, 3 Apr 2025 19:08:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1743707281; bh=EA7Ez8Tc0aaKXscV+78M5q/uX17RpyefBZgXtCBt7uw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Na3yaw6e6YMwTdtJeKimXfE8cDPjshzYY5OtQsz4p+XQEA3umMqYKtRBDJ14V/wvx 8Lm5eUjRpQ8Gtb3o9T9xPvdI0xlAvkMLnG5gJujBjMc87dnPf5HZ0PHDxT0IPjs8Ht J01Fw1JOR7Y/lrn5hQCma/kvBT4Zb+fsdNjU4oz2DcYMbFb/TXglS4zMTOMUkm2zLE LsVvCLrjoJqRCfAfJN/hks5ILjmG9kDjuwF2sqosW7y92ur8LHa4umcViZpQtJLRR4 aP74DQUW/DIbX9q+ryAPletGVSprgGDBHX/gGw/zSUi56rB15Ke3rKmhpQ7qyWClnb ipDwjOgKKkgmQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Zhongqiu Han , syzbot+df6cdcb35904203d2b6d@syzkaller.appspotmail.com, Dave Kleikamp , Sasha Levin , shaggy@kernel.org, aha310510@gmail.com, dmantipov@yandex.ru, eadavis@qq.com, jfs-discussion@lists.sourceforge.net Subject: [PATCH AUTOSEL 6.6 06/26] jfs: Fix uninit-value access of imap allocated in the diMount() function Date: Thu, 3 Apr 2025 15:07:25 -0400 Message-Id: <20250403190745.2677620-6-sashal@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250403190745.2677620-1-sashal@kernel.org> References: <20250403190745.2677620-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.6.85 Content-Transfer-Encoding: 8bit From: Zhongqiu Han [ Upstream commit 9629d7d66c621671d9a47afe27ca9336bfc8a9ea ] syzbot reports that hex_dump_to_buffer is using uninit-value: ===================================================== BUG: KMSAN: uninit-value in hex_dump_to_buffer+0x888/0x1100 lib/hexdump.c:171 hex_dump_to_buffer+0x888/0x1100 lib/hexdump.c:171 print_hex_dump+0x13d/0x3e0 lib/hexdump.c:276 diFree+0x5ba/0x4350 fs/jfs/jfs_imap.c:876 jfs_evict_inode+0x510/0x550 fs/jfs/inode.c:156 evict+0x723/0xd10 fs/inode.c:796 iput_final fs/inode.c:1946 [inline] iput+0x97b/0xdb0 fs/inode.c:1972 txUpdateMap+0xf3e/0x1150 fs/jfs/jfs_txnmgr.c:2367 txLazyCommit fs/jfs/jfs_txnmgr.c:2664 [inline] jfs_lazycommit+0x627/0x11d0 fs/jfs/jfs_txnmgr.c:2733 kthread+0x6b9/0xef0 kernel/kthread.c:464 ret_from_fork+0x6d/0x90 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Uninit was created at: slab_post_alloc_hook mm/slub.c:4121 [inline] slab_alloc_node mm/slub.c:4164 [inline] __kmalloc_cache_noprof+0x8e3/0xdf0 mm/slub.c:4320 kmalloc_noprof include/linux/slab.h:901 [inline] diMount+0x61/0x7f0 fs/jfs/jfs_imap.c:105 jfs_mount+0xa8e/0x11d0 fs/jfs/jfs_mount.c:176 jfs_fill_super+0xa47/0x17c0 fs/jfs/super.c:523 get_tree_bdev_flags+0x6ec/0x910 fs/super.c:1636 get_tree_bdev+0x37/0x50 fs/super.c:1659 jfs_get_tree+0x34/0x40 fs/jfs/super.c:635 vfs_get_tree+0xb1/0x5a0 fs/super.c:1814 do_new_mount+0x71f/0x15e0 fs/namespace.c:3560 path_mount+0x742/0x1f10 fs/namespace.c:3887 do_mount fs/namespace.c:3900 [inline] __do_sys_mount fs/namespace.c:4111 [inline] __se_sys_mount+0x71f/0x800 fs/namespace.c:4088 __x64_sys_mount+0xe4/0x150 fs/namespace.c:4088 x64_sys_call+0x39bf/0x3c30 arch/x86/include/generated/asm/syscalls_64.h:166 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 ===================================================== The reason is that imap is not properly initialized after memory allocation. It will cause the snprintf() function to write uninitialized data into linebuf within hex_dump_to_buffer(). Fix this by using kzalloc instead of kmalloc to clear its content at the beginning in diMount(). Signed-off-by: Zhongqiu Han Reported-by: syzbot+df6cdcb35904203d2b6d@syzkaller.appspotmail.com Closes: https://lore.kernel.org/lkml/67b5d07e.050a0220.14d86d.00e6.GAE@google.com/ Signed-off-by: Dave Kleikamp Signed-off-by: Sasha Levin --- fs/jfs/jfs_imap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/jfs/jfs_imap.c b/fs/jfs/jfs_imap.c index b30e4cf2f5794..8b876e2db8c60 100644 --- a/fs/jfs/jfs_imap.c +++ b/fs/jfs/jfs_imap.c @@ -102,7 +102,7 @@ int diMount(struct inode *ipimap) * allocate/initialize the in-memory inode map control structure */ /* allocate the in-memory inode map control structure. */ - imap = kmalloc(sizeof(struct inomap), GFP_KERNEL); + imap = kzalloc(sizeof(struct inomap), GFP_KERNEL); if (imap == NULL) return -ENOMEM; -- 2.39.5