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 lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 24B5ECCFA07 for ; Tue, 4 Nov 2025 08:46:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.sourceforge.net; s=beta; h=Content-Transfer-Encoding:Content-Type:Cc: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: Subject:MIME-Version:Message-ID:Date:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Owner; bh=FoNxpf0qjn4BmIpIY37OnvjQLy5Zal0nerh5nppKTrQ=; b=nJyfpTwk8rcAgo9gWsbrOGUwlI RAbSjj0J03ZdMnFczCkUV3lXPPJroDpyI5YElP3Xa6R+0dkgvyCFQePSTv/xUQzu0+1pdRDMKFthC PoSOGAX9Dond4qWkJeIyZLsfjVKo2Gyp2DdWUXxlc+cIvpoHemP2J49aolnCP3/iXAwI=; Received: from [127.0.0.1] (helo=sfs-ml-2.v29.lw.sourceforge.com) by sfs-ml-2.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1vGCgl-0000RV-07; Tue, 04 Nov 2025 08:46:51 +0000 Received: from [172.30.29.66] (helo=mx.sourceforge.net) by sfs-ml-2.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1vGCgj-0000RF-5m for linux-f2fs-devel@lists.sourceforge.net; Tue, 04 Nov 2025 08:46:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:Message-ID: Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=RXqY7SpktVETsfwyWDIsUXpt3grfqqVeE+nZmdbKIDw=; b=UMt00zWrw1HaHFCMIxfme801GR 6AmDrO0M32zSV9j3p8bPu0kBzTfJa2mfZvnCHjhGv8Mh5UOBnUYliJ/bhHMeG8Xeai96QlnQidfhC YZJVa+ysRiJlJn4ygxHPdUKJxeq5coI2vTQM+kVvYkNlAdJeZgReFX7tcGHnzngzmI50=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:Cc:To:From :Sender:Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=RXqY7SpktVETsfwyWDIsUXpt3grfqqVeE+nZmdbKIDw=; b=c DwAZoidlHDWCq0O8gDnP4+LtJoCZJ4WeIR7SSKB9idJ4FUD9iu1JZau6TulBUq7Erye2B8IEU9IdJ e1Gp9/Qv/7PWmuari9Of7IrvRe1MG5Hn0LfTPZnVi9RA2I/8sYH4HFaml5zFTbjX9tnHiwkY9U5Of kO9sQmYLQuOtbP1Q=; Received: from mail-wm1-f54.google.com ([209.85.128.54]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.95) id 1vGCgj-0007Lo-Aw for linux-f2fs-devel@lists.sourceforge.net; Tue, 04 Nov 2025 08:46:49 +0000 Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-477442b1de0so16225675e9.1 for ; Tue, 04 Nov 2025 00:46:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762245998; x=1762850798; darn=lists.sourceforge.net; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=RXqY7SpktVETsfwyWDIsUXpt3grfqqVeE+nZmdbKIDw=; b=IflfGQILmOtl3uuDBZaiz5SbyhRH1gXGC8fmnd72N+ZVRdlDzrebKygfIwOoZ7PANI Xpo63c85SnunU38B/gRFlk3mt7slCrQps3G3zZOyWKkex9fqVuc3r2FLb1d65FOIDUul shSxp5kNOHsNVNAFgF+7A56SZdPnggzIsrI+LIGyyZpW1R7MiHwIcGlXT/nHSB3cTQmv ePN5tMgvAvk2FDVVg2781Uj/8ymE+3TuMAlVnOg6CPGhKDqAXlnGhxd++9b38BJuEzVA 8hlnZIrffiFZy5DQBE2bT68Eo1Xz8/jGbfDWvSTS6L2PdKjq5BtAUP7BN5VZpGCOIjgc ZgAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762245998; x=1762850798; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RXqY7SpktVETsfwyWDIsUXpt3grfqqVeE+nZmdbKIDw=; b=DllKOGi3X6m8YbwhAqoQPOHZO7v7sYcxjgRZZ34bDxk/FcmgBev/feJJFdMk+t+3+C e1Z0fx7zMCotEl3b0WbHP9cFqXlqCTefzyAwXxk5mgtFq00xTKcNuWr6wrBOkmbmJoZy vKKsKpdvz1cTg3HsADhxUGC8tn76kJzVfJlbaG60CzIWXNuo3LAlCildHJi93W09vu3x 4K/4fw87Iqtusrdt0RGloFGMzb6UvFQvaD0ZQZ9kv3IEBvOV+BTlyUuWYltyTJh+dx8K 2XJw7NiIh2VLqbtgHyPTVXLsNUTntG/xQDKYS6EerjYIDtL11VGYPO/QCBRSvb8KWZgb a3dQ== X-Forwarded-Encrypted: i=1; AJvYcCUzvfKKRNAJL2z9nODh6oJwd9c0B0Guc1Ocz3qqNgG6q0JgUr762PC9HGZUvRVBmI5oe2mh80qdUyIFtnO1WSor@lists.sourceforge.net X-Gm-Message-State: AOJu0Yy1vcaGsjyWqzg3W1134FC4AMvV13X1gtjMVg1DGexthKCSXxFL 3ENb3FQE0UZjiIKMd2KvSD8utd6Yz5sbpB7+NVXLl5ZpchX6Qkmyi6w/ X-Gm-Gg: ASbGnctVMqTnWyjCRoENjiFhZhWlNHcEjJmd+FD3+5jqXqQDIuO+bK2DdjroLvl53VG iJoIKUE7jZVUBGt3A5DsCnIeYKeKT4ecPCiDMcqAI/VX+PLy08iAISTsqo8x50xhAVYkvym7dQm PCqwT6Ohg9+kRbQLUWQAiCXIwbr+y/PJo1S71PDUiQ1E2P6NgFKJ7tRkMARnWY1sKkeDjfCFHGJ QHsBk3tycbDLsGQaB2/VuS3Z4JeTz8mnO/jBEirYrgbcactv2vHxVFvkps5nlDD0Mu3pY72mMXs y0g1gasm0aOETOuOE5949exaxbfAh5Hnb5XyexnCGd99PNcdXvSihzv7tetyNS9qJY+oHTretal f8hYuWBcjh2OaCOS9MPfIOryeVPXTDuRkgs/VhCE3tyuJ0WfAmDfmieh3j8uGmlyr6sh537duJj RwFSKPjsrB7S8= X-Google-Smtp-Source: AGHT+IHHhUl9Ud+xEn5Gnt/Mc5v3hcvcv7RyFxR4dOxpzt0xz7nLGm9rMaCxa0muEll/2oeYbMw0sA== X-Received: by 2002:a05:600c:5249:b0:471:1717:40f with SMTP id 5b1f17b1804b1-4773087259amr138572865e9.22.1762245997577; Tue, 04 Nov 2025 00:46:37 -0800 (PST) Received: from localhost.localdomain ([46.10.223.24]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4773c394e33sm200375535e9.13.2025.11.04.00.46.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 00:46:36 -0800 (PST) From: "Nikola Z. Ivanov" To: jaegeuk@kernel.org, chao@kernel.org, linux-f2fs-devel@lists.sourceforge.net Date: Tue, 4 Nov 2025 10:46:18 +0200 Message-ID: X-Mailer: git-send-email 2.51.0 MIME-Version: 1.0 X-Headers-End: 1vGCgj-0007Lo-Aw Subject: [f2fs-dev] [PATCH v3 0/2] f2fs: Add sanity checks before unlinking and loading inodes X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: david.hunter.linux@gmail.com, linux-kernel@vger.kernel.org, khalid@kernel.org, skhan@linuxfoundation.org, linux-kernel-mentees@lists.linuxfoundation.org, "Nikola Z. Ivanov" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net This series is provoked by syzbot warnings caused by corrupted directory inode with i_nlink == 1 that passes the initial sanity check which will only mark the filesystem as corrupted in case i_nlink == 0. Tests: - fio/fsmark parallel create/unlink on VM with f2fs root filesystem. - syzbot Changelog: Changes from v1: - Rename exit label in f2fs_unlink(). - Add sanity check in sanity_check_inode() and remove it from f2fs_iget() as suggested by Chao Yu in order to detect on-disk corruption early. https://lore.kernel.org/linux-f2fs-devel/d4b7c03c-6554-4407-b823-aecfcdf7dc3f@kernel.org/T/#t Changes from v2: - Remove i_nlink == 0 check from sanity_check_inode. - Wrap i_nlink == 1 in unlikely() marco. https://lore.kernel.org/linux-f2fs-devel/1f519357-a489-41fe-8159-a8e319aedd17@kernel.org/T/#u Nikola Z. Ivanov (2): f2fs: Rename f2fs_unlink exit label f2fs: Add sanity checks before unlinking and loading inodes fs/f2fs/inode.c | 6 ++++++ fs/f2fs/namei.c | 27 +++++++++++++++++---------- 2 files changed, 23 insertions(+), 10 deletions(-) -- 2.51.0 _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (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 17CC3A41 for ; Tue, 4 Nov 2025 08:46:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.211.166.138 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762246002; cv=none; b=roVpIavYuReTCcEF7MsrxKSJxrK59S7sdjgTLbhlrY2o5BZ5fuIxA0mLpSM1OZWhxWPwZdSMQumrHEQexTXmHhjp8w/sv+yKMN8aHBw4d9/Qsv5hADXG2/BedOQO4EmQ9SZHNkUwnzoxPIh2INJvt9eNdlm/v6hcMvvtPRx1tpo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762246002; c=relaxed/simple; bh=ElckniwCkRR9OspymP+wD+dOygCeLor/HhB1Abe68Dk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=EDxTz0h7WE1XGYdw5F5kO5kaa5HM093e63f3h/XbEq+BUlD9R+FwSVNWa40SpzoTVrVbgz0fq9hZ9HLcdC2VPwhDJSQ5VyM5AqqG86YI8MJgFEf0PLNpPu8zcZtzSWnfEBZo5O5W7rCN6jY09SQTxhxcdhcZYQ0QXJDaPPHSnrg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=KKpRlehq; arc=none smtp.client-ip=140.211.166.138 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KKpRlehq" Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id A09E381DAB for ; Tue, 4 Nov 2025 08:46:40 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.099 X-Spam-Level: Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id g-C8hl2h5zv1 for ; Tue, 4 Nov 2025 08:46:40 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2a00:1450:4864:20::32d; helo=mail-wm1-x32d.google.com; envelope-from=zlatistiv@gmail.com; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp1.osuosl.org CAE2D81DA3 Authentication-Results: smtp1.osuosl.org; dmarc=pass (p=none dis=none) header.from=gmail.com DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org CAE2D81DA3 Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20230601 header.b=KKpRlehq Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by smtp1.osuosl.org (Postfix) with ESMTPS id CAE2D81DA3 for ; Tue, 4 Nov 2025 08:46:39 +0000 (UTC) Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-471b80b994bso67927945e9.3 for ; Tue, 04 Nov 2025 00:46:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762245998; x=1762850798; darn=lists.linuxfoundation.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=RXqY7SpktVETsfwyWDIsUXpt3grfqqVeE+nZmdbKIDw=; b=KKpRlehqfLU4z34ySvYJNJX7IYABTftDJ+y1mj8vAEJYabm6gBTsPC2w0KNpK+ss/x NH7WvGeqtitVpEpjn29xewWc8XfedwdF/0soqxHmzXIXir6GgglOjRoqzsU6oqErcyD4 fsGxCNOxB3jmxs+xAAIldUp/La8A/JxDVNkXtpWH66FKzBnuy73y07T1RxNM8B8LlMDK LNzhHLJ/6s1OqD48vxs30G05jqoFN2mMKkK2O/5gHtjCxOtDg+3COexZ/NwjtdW0rzN9 lm2rEi0eqmG5v7lv8PYZKKZXtTAPqBt0hhhIv7SVeIBd0dvHDKZ7fH51s3PCIo84jLPS 63Mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762245998; x=1762850798; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RXqY7SpktVETsfwyWDIsUXpt3grfqqVeE+nZmdbKIDw=; b=o98sRFzrFl4Q5+yRHXhN9A5efD7z3GCjbsy1YO6mwa7H9zEgt/raAq/4SdGgfCoC54 BvqcvjEw2Ncte/khMXdrq0rmp+fGa9q2xDKcpRQsP7Nb4I8FJc1rYK4+0MpKf5bvVqqq WOEyXYKIXkQhIsNVa6JATUuWjVCPgI5maxqk7cjO/tslyjC3PoBkr+xpKQnDKuLvTJGX EAJlVPkOEzqxLMJWfmBkHDI5ZLqroPff1SfVdTUrL3Y7fpIj3Hsl9Qxw0DH9f29HgcpU kDXoKgHiGTAWaHMzHs01aBN9VdkNcGYHuWyd45QJ0EcapSEeXkbZxuKLt9KFA0B1WQUD NwuQ== X-Forwarded-Encrypted: i=1; AJvYcCXrDFCz5+CC8J8Zo2bfSsfDOkNhwRJQ3TuRxebpEeKvym09KSVMpi7Kq+2CZMNS1Vw32oeVqysC0WtftYTozI/GuumVLg==@lists.linuxfoundation.org X-Gm-Message-State: AOJu0YwAf+SUdKL0Qc2RQIOlDNmI7KDlESD33OH4gPf0eivLA4Bjb6WM r/fiMgquJeSOV/k6wVVQ1GfZleR6ycUBDMgtrHec3nkf2i9BjwaaVB7K X-Gm-Gg: ASbGnctDAGMw2ux6NLQ3eIo0SxZ7uUIGNqFY2iDZHu4Em7qQ4wCZ/PXtgcC/EtxA0op PE/TlEEsFD40IlNe1J92fUrF+fkyMtpG/rSe3tfWoTudrHExmu/456o8XtyD/u1CxKVagQLUoDi g2zU9mJTYEufeoGz81MgD7jNqWziQnlEbXauEMQh8JjmvN5Wc0m08SQOUneT495p1isnqODsB2u BCkgyXyzMWwfqjODfeBn/2FhdnPYucWP2lbZhueIeMb+g+O8YBOgBETDXvOVQAy9xEOLByorImX UkiU1WuGcfY11KlWlnxhR8R3wD3cUDztqHevpR0CBsrTB62sPiM08yQEJx7MB+5ZmgfeD/UL8+I rWhqsuqZszwCKSBfOZNzWLfzP92jOKLJWsCbFIJRMsgrrglvi5X6sgV+XF2ig1j20thdp4D4Lt1 dkULVLnFKM3hw= X-Google-Smtp-Source: AGHT+IHHhUl9Ud+xEn5Gnt/Mc5v3hcvcv7RyFxR4dOxpzt0xz7nLGm9rMaCxa0muEll/2oeYbMw0sA== X-Received: by 2002:a05:600c:5249:b0:471:1717:40f with SMTP id 5b1f17b1804b1-4773087259amr138572865e9.22.1762245997577; Tue, 04 Nov 2025 00:46:37 -0800 (PST) Received: from localhost.localdomain ([46.10.223.24]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4773c394e33sm200375535e9.13.2025.11.04.00.46.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 00:46:36 -0800 (PST) From: "Nikola Z. Ivanov" To: jaegeuk@kernel.org, chao@kernel.org, linux-f2fs-devel@lists.sourceforge.net Cc: linux-kernel@vger.kernel.org, skhan@linuxfoundation.org, david.hunter.linux@gmail.com, linux-kernel-mentees@lists.linuxfoundation.org, khalid@kernel.org, "Nikola Z. Ivanov" Subject: [PATCH v3 0/2] f2fs: Add sanity checks before unlinking and loading inodes Date: Tue, 4 Nov 2025 10:46:18 +0200 Message-ID: X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: linux-kernel-mentees@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This series is provoked by syzbot warnings caused by corrupted directory inode with i_nlink == 1 that passes the initial sanity check which will only mark the filesystem as corrupted in case i_nlink == 0. Tests: - fio/fsmark parallel create/unlink on VM with f2fs root filesystem. - syzbot Changelog: Changes from v1: - Rename exit label in f2fs_unlink(). - Add sanity check in sanity_check_inode() and remove it from f2fs_iget() as suggested by Chao Yu in order to detect on-disk corruption early. https://lore.kernel.org/linux-f2fs-devel/d4b7c03c-6554-4407-b823-aecfcdf7dc3f@kernel.org/T/#t Changes from v2: - Remove i_nlink == 0 check from sanity_check_inode. - Wrap i_nlink == 1 in unlikely() marco. https://lore.kernel.org/linux-f2fs-devel/1f519357-a489-41fe-8159-a8e319aedd17@kernel.org/T/#u Nikola Z. Ivanov (2): f2fs: Rename f2fs_unlink exit label f2fs: Add sanity checks before unlinking and loading inodes fs/f2fs/inode.c | 6 ++++++ fs/f2fs/namei.c | 27 +++++++++++++++++---------- 2 files changed, 23 insertions(+), 10 deletions(-) -- 2.51.0