From nobody Mon Apr 6 23:17:38 2026 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (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 460073B6C0F for ; Tue, 17 Mar 2026 11:58:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773748738; cv=none; b=EZtR2oEFAXp/vBPRXpH2gOgDfg9IaZ7UVwOzgCzKYc6zxTO/XJwgoz6Wfm5b7Y9qaehrtPrKPcA9m6ZG0YOQ8tjVIv4bCqZX0CiZysNv8FsGoGySfcMbIm3C/uyTC9cOJoblSXbEqhep+NORfAMBAqnrG55PqNh1yo5UF4/6wvc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773748738; c=relaxed/simple; bh=gRpCV0n9w2gml5P2eUMnXBO6ggCw62Q6tYlyHO5N1TA=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=Yf0FifC0t8xPr8P+Ym94pJh4yym0S/EEVusZ3byN6AuP0CRXYoEFCJ2MKTnGCiAjkLN7iJqpT2kjKKuR9PeHoUI3Y8R6qaVXpyzoK2LPP02ZKy6Eucb/ydEZ7A4kVu+ASTAABk8Actc0y/p3CmesBFW6Mf/65w1fbccr293woQA= 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=G/tSKwSB; arc=none smtp.client-ip=209.85.214.174 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="G/tSKwSB" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2b0484a6de4so12690445ad.3 for ; Tue, 17 Mar 2026 04:58:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773748737; x=1774353537; 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=Cq0vJNChMsEMEHTNP5c+O7i5TNPZoynhpBa0bLte5W0=; b=G/tSKwSBx9BoJaqlhz5D7o95NiX2yxVeR7Q7TW52bB1TMKmVu25pD34lg4stW2ayf+ miN3K1WSlWR0QYkE16jck+MRRG7InWfkheb4gm51ZJTasZn5J+kmzFCzYM96eQLYs0bK AqeZQcOvVI5UkjJvww2wWAb3SKTc25qGuzBj2E/spcoErnFDPfuzkGWY3HL7QUvn1+Yv 6xz+B/OCPYtAD9DJJ/MvEzIYI15pQ6yinajnheiABxuvZ07CizSMyyrDTKmWccMSKHCf +hQJ8c5tzj98YLollQbq6oO02OdZRY8RXBKe4CGGLmTNneelBPdx/A1VLvoiJTSYBcUt 5AEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773748737; x=1774353537; 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=Cq0vJNChMsEMEHTNP5c+O7i5TNPZoynhpBa0bLte5W0=; b=d0J1qwikrCIh6wSoBe4CfVIjJ0EugLdZsoBMY3WxXNbTab4Ml+skBFBRMkjZZP3KlW yf/ZqY6k0YuHW4p1VPD4n7GQjNhZ+PIXz92hu9pXttw4bMcRnrJbZUTvsH5zHLn/Ju0k 1EVI2axGy0pKTQa3HnR8cod10TGAIjpsewu/BtKV/3sREJYGAh3KP2kjPfVtUXrFuBXN ugBcT/IYLRYjOIWf2JCidvnk5KzV1P24lLKWRNa8YO5Pje7ZZIvZ12ZX58+LSIqEKHiT N+oaCbnSPDoFdfwR+q/Ekir/9A6+KZ9OYN/kQqJv/I5S5GF8SuC+rshW89WHQcQ9aKXp ztMQ== X-Forwarded-Encrypted: i=1; AJvYcCV8pUQXI27XGUpuNXra8L5ToP8g3WVFl4i1GQpESukZR/f6wM9JQkhoHZmE7NhhXM+47iL/u0b7r5j7QI4=@vger.kernel.org X-Gm-Message-State: AOJu0YzV2NhvKZ0yOspv+JB4KHdwcO2gdYCsHs1A2fEjqj1MAjtWDipU BcidHkQk9pjhNG2sP8xUkJdJgXufPMH1rxs2tSFLumvEhoV+czMGuDzX X-Gm-Gg: ATEYQzweCwte5T+05lalBmT802ZIOm8TzyNNNBsvJos+degVmIE2SVtlJGFPIvtbdwX xmChTNh2sb2+eEwlRcWfrqcwuUr/XSNfHZiLPp4BIWU9OCe/HbFLAcvqoGqNmFdj8nvUpsSfHCk n3z09YfrTDI6udj+YYrk7uSvE8q9QOrqrIWQ5br5kLkPPHje6spfViF8L8LvPYTj2AZF6FjMpAL ct0q1ji11au4BW61ZsbGWsSe0WV8zlhXVmseR1xESoViuPGR3EL9X3A/5a+K/EcOpmWSex+izAZ bTVL6dyzPZ6McGQlrZG15+L7YUZghlrXMA+XLq+WBuucweLdUiWmnBMinweemM4uaMc+1m861aK SiJekEr01m79PT9Ua0MCYf1B+i4RP/oYdyxd2thnYmZzMnW7WIb0azunEpAO8Ru2zfShi5l5bjH M44lGNRIQjrA+GQXhcHg== X-Received: by 2002:a17:902:f68a:b0:2b0:41eb:163c with SMTP id d9443c01a7336-2b041eb191emr116688885ad.3.1773748736543; Tue, 17 Mar 2026 04:58:56 -0700 (PDT) Received: from localhost ([111.228.63.84]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b0537b6567sm78172245ad.58.2026.03.17.04.58.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 04:58:56 -0700 (PDT) From: Cen Zhang To: jaegeuk@kernel.org, chao@kernel.org Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, baijiaju1990@gmail.com, r33s3n6@gmail.com, gality369@gmail.com, zhenghaoran154@gmail.com, hanguidong02@gmail.com, ziyuzhang201@gmail.com, Cen Zhang Subject: [PATCH] f2fs: add READ_ONCE() for i_blocks in f2fs_update_inode() Date: Tue, 17 Mar 2026 19:42:25 +0800 Message-Id: <20260317114225.3017089-1-zzzccc427@gmail.com> X-Mailer: git-send-email 2.34.1 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" f2fs_update_inode() reads inode->i_blocks without holding i_lock to serialize it to the on-disk inode, while concurrent truncate or allocation paths may modify i_blocks under i_lock. Since blkcnt_t is u64, this risks torn reads on 32-bit architectures. Following the approach in ext4_inode_blocks_set(), add READ_ONCE() to preve= nt potential compiler-induced tearing. Signed-off-by: Cen Zhang --- fs/f2fs/inode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c index 078874db918c..73b913dbe02a 100644 --- a/fs/f2fs/inode.c +++ b/fs/f2fs/inode.c @@ -694,7 +694,7 @@ void f2fs_update_inode(struct inode *inode, struct foli= o *node_folio) ri->i_uid =3D cpu_to_le32(i_uid_read(inode)); ri->i_gid =3D cpu_to_le32(i_gid_read(inode)); ri->i_links =3D cpu_to_le32(inode->i_nlink); - ri->i_blocks =3D cpu_to_le64(SECTOR_TO_BLOCK(inode->i_blocks) + 1); + ri->i_blocks =3D cpu_to_le64(SECTOR_TO_BLOCK(READ_ONCE(inode->i_blocks)) = + 1); =20 if (!f2fs_is_atomic_file(inode) || is_inode_flag_set(inode, FI_ATOMIC_COMMITTED)) --=20 2.34.1