From nobody Mon Dec 1 22:36:49 2025 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 942792DF150 for ; Wed, 26 Nov 2025 22:03:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764194608; cv=none; b=p8itnhIfMWeNGGpMnTLifoI2naV+8eOkm2pK38bTFeJJQMA/rRwNhSVBGacL442omW5yX7+gurovxYlz4MBAS/gun0wa/iRAfuZ7nfKhF0znbfW0uQiE4mr0MfNrgc958rtPk0gyjPqKVplAIDxB08ohc92Bx7dmPHRxp1VJXEk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764194608; c=relaxed/simple; bh=gpEAaLz54ppMQhe8wFhtmghwpmr0jWXftr/o4/+nN0U=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=inoExto1G/200hiFcyQc4bne/abhdE59hDNghSbOuHfh1/3NApDV3UZZgvk7T+Wdln0PeAkvDDG7tbXOoCbclRgvsb3ROhltmGU7Q2sV9/VCdyrsFTllfWeBRFP2K1nmuu8xhhQq1SoO24pvQdZm1vwKrsZjwdpWY0jHQSJMthQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=h9BPIV7t; arc=none smtp.client-ip=209.85.208.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="h9BPIV7t" Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-645a13e2b17so469690a12.2 for ; Wed, 26 Nov 2025 14:03:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764194605; x=1764799405; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=uZrxyU/8eB/Bsi4MeUVNsEcFjdBjR78Q52OmUOblKP4=; b=h9BPIV7tzt9iZM17KMawUm40qyUcW7VdabKra0g0IE0C5KfV+aywVlc0tlsqFeTzGR t0WVyLz6E9ALdPKLU6p4+ovFlibXmQIDdQPpw26IzLnn1JM22+/K9ZFw+GPbkslqtS2P cOt2lAH2MxIaSPArZ9bMbibuDJQFwyTd5Zdep5cuMqTQkjpdowZtpDXccZWb+xEKCYLQ R+yDlosupJ5WwWUIUvVx6GB94CTgw7O32lKpxKyIH323SrqhrHrnHhtxhEbci0WaGwvV fXbNt1WhXTN1ukwBKD6SZWxyZQkpFp9a2eLHnooaG+INt4Pj+BfqGPaFolHr9AA1b4pF u/QQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764194605; x=1764799405; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=uZrxyU/8eB/Bsi4MeUVNsEcFjdBjR78Q52OmUOblKP4=; b=u5r+Z+zJRQuDYlVogLwSKpBzjj3+BvDiY9Nm9Gw3D9YNHgfUZ9lESedeH9+9nFJrki pxXf/7a7X2O02DCvauTbDXoQErjnh2U98DrVojLk//TKD1vckVqCP2eDeXZ+IMVWAGFG F2lK3Zu6gDFbHWIcoC64rKyrBbnX+RDCobfBv4cVAnJ6TVQJrX2A4VPv9MxiJieg+FlH OsD712ABvPbSBQRYiyOp7xCZHWUSB2cwlklgNXe3Kb3ihM1QzAbm8d4uZSU4Qw2mVVtV Upmm/SE3XxNbcIBC9bqqIKFHxuG71MsQ8RrL+WcdvCMitZ8u8A0DPUe6t5L2ROBbfsQR Y23A== X-Forwarded-Encrypted: i=1; AJvYcCWmvAJF8MiYvhpKzvFZC3WlL/xgaAJ2Usk0vmtEgsUYIJ2lQDOrfLGMczwRY0IoU+7iQNGiOcJJcF/7gss=@vger.kernel.org X-Gm-Message-State: AOJu0YxuwCymPTOGhZY59KOr/VzK29ka+ad7PyjF0jf8vqU74qovbNDw Fk+8DE0TLhXpAiLS8EUGMVF72T2xdRH7HKeAyz+5CcNkHx1LknvJJAaZ X-Gm-Gg: ASbGnct27h9EAOB2NnEV7pymEioNuKv6030n6cAKzDHywCiiV1E4oe60rE7LpaIbJFD 042v0ug7Zi6+gJ9sQwYNDxQR+WofN6KnqXKfFcrH2kQWlvMCMHDRatRKtgJaeCW6YjiWpjTHNNg x+N0PLHnJsaclT0YkXgeJL7L0rGIWclJIZg/q+SFwd0qYRumJMMoxxTVGyVLqa3xaIKkN2S1xSb FQeaae//6xXs/fYL2cFLGCBcIuQInpP/F+TlFByAyCbRGggTzbj0dYd8OFSbdT42JrjfjoGmVRE x6hHgEi6Y2lK02d0T4wYj/nlp0HEpmMC5GPMf8HG2rY/fSBdi24L699I9FUlm1qcBjCvbJ8Wjy7 Jn4PQwK+xCytVQDWTIqj5cLZzczO4CrnHrcHaYCAVFCB1sw8fGQbJY5S16RhfwOLtOWOcKvdmDB i0BAApOYhuH4rcVrZ4vAowa4sswPuHusxAJ7em4jDES797jKm0sUtHLEZ0xl3/rSC65PlP/7wOy Db6OExGfoyqRV8IPtmB9iqQa5+0sGYRIRQrmmyZvw== X-Google-Smtp-Source: AGHT+IEzYIQS5Bno+JN+mY9yGbvukqVhR7pJesFkM8oArSJ0APwzjY6jKMCN8b2tqjZAbKxZl0q34Q== X-Received: by 2002:a05:6402:2708:b0:640:a50b:609 with SMTP id 4fb4d7f45d1cf-645eb2a8792mr8292964a12.16.1764194604647; Wed, 26 Nov 2025 14:03:24 -0800 (PST) Received: from localhost.localdomain (host194.safe-lock.net. [195.20.212.194]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-645363b5a46sm19110312a12.8.2025.11.26.14.03.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Nov 2025 14:03:23 -0800 (PST) From: Bartlomiej Kubik To: almaz.alexandrovich@paragon-software.com Cc: ntfs3@lists.linux.dev, linux-kernel@vger.kernel.org, david.hunter.linux@gmail.com, skhan@linuxfoundation.org, khalid@kernel.org, linux-kernel-mentees@lists.linux.dev, Bartlomiej Kubik , syzbot+08d8956768c96a2c52cf@syzkaller.appspotmail.com Subject: [PATCH] fs/ntfs3: Initialize new folios before use Date: Wed, 26 Nov 2025 23:02:51 +0100 Message-Id: <20251126220251.856795-1-kubik.bartlomiej@gmail.com> X-Mailer: git-send-email 2.39.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" KMSAN reports an uninitialized value in longest_match_std(), invoked from ntfs_compress_write(). When new folios are allocated without being marked uptodate and ni_read_frame() is skipped because the caller expects the frame to be completely overwritten, some reserved folios may remain only partially filled, leaving the rest memory uninitialized. Fixes: 584f60ba22f7 ("ntfs3: Convert ntfs_get_frame_pages() to use a folio") Tested-by: syzbot+08d8956768c96a2c52cf@syzkaller.appspotmail.com Reported-by: syzbot+08d8956768c96a2c52cf@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=3D08d8956768c96a2c52cf Signed-off-by: Bartlomiej Kubik --- fs/ntfs3/file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ntfs3/file.c b/fs/ntfs3/file.c index 4c90ec2fa2ea..00df27876c50 100644 --- a/fs/ntfs3/file.c +++ b/fs/ntfs3/file.c @@ -930,7 +930,7 @@ static int ntfs_get_frame_pages(struct address_space *m= apping, pgoff_t index, folio =3D __filemap_get_folio(mapping, index, FGP_LOCK | FGP_ACCESSED | FGP_CREAT, - gfp_mask); + gfp_mask | __GFP_ZERO); if (IS_ERR(folio)) { while (npages--) { folio =3D page_folio(pages[npages]); -- 2.39.5