From nobody Mon Apr 6 19:38:37 2026 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (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 EBD1636C0CC for ; Wed, 18 Mar 2026 07:49:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773820174; cv=none; b=ZlN/fURT53Rn1OhcGJ3oQ8K0yfnVLn59CIbAH+J9BX+zAXZuyzWrfDTA+60lLLUOvzIXw3ELkYPlu/j3wzJzixCvGE5tyFYf65fBzRg0KM914xQi1U22kc26YmGg4mx5XZF2EKLREGhfp7GMmQtWO055NZIOoQtoPlzvzkwrtec= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773820174; c=relaxed/simple; bh=Wajn5p3gSwmM1hWhbn7Na6BCbaCSf3OexdnxUOucPdc=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=a5lHkIIqbwBcJyw/Qm+ypPlSnDpurd+b3KU+kiJ6V/dpMR9q2fePUCsqpCgyY2YPtqi3w+em56jjwe9Fo6URP0kjVQW5kDubSbtmKsOW66vQMJGm7LV7oD0RmgWNwLcaYUi790XjyGA3ob0NEqSwqHnT3FseCGfbzezIshtz064= 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=LF7gwhIh; arc=none smtp.client-ip=209.85.214.178 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="LF7gwhIh" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2b042533de1so2715595ad.0 for ; Wed, 18 Mar 2026 00:49:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773820171; x=1774424971; 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=TaWUN2xZ6ZNLkJtyGAWp0KGRb8y1SHDUdrDq8BJZywg=; b=LF7gwhIh3Jy0TmidlpSRxUbaLoe2qoNpVEwkRyHnva09kt2QshVIx3UgYOy7Ls9Z0i juZUV6esbBcvtqxOFQE9keaPDJb48IQcyyyUs3StWnOhb68s3AmLOR2CQDJzPR5cHrbc o3b5wlhl31p61bDp2scxs9ar5LtLdoFtz0n3cjzw+0ailJqoz9R2sPTCew9D/35/Th08 mOMoSTuF4GcNPSYF6zNKWyaKnoOPQjLjQvqaF/da282shDc4DhiMhQBBF11BZwmJ+jZR j6aK2/lN52l7Zl9taxvggPYfkdrNF4d5izJjVOz4h1t57KtmxmAlbzxc0OmR3j/F9Kv+ hNwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773820171; x=1774424971; 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=TaWUN2xZ6ZNLkJtyGAWp0KGRb8y1SHDUdrDq8BJZywg=; b=Q4Yfx63TqZs/BIsD3DKXOi5d0E142Y5vH6tYcIQ0JeGGxJdY5ArnDux8l+3R9I1CgA 5+xqWyOWTgq7njY5HA/DgHSipaQ73vXuISfPi6+mnAurWKL2pFIyYHQK0CTFqDeaV6tz GcP80l8VDbmSAL1otJnsvwRJbh+XYH/Xij1jVO9VKX5SakYNW7hxkijGIQ5MuGit1R/t pcxcrzklBxgcGO3xbuRVVagc2q7xjTqoDd1VAPSqh4cwnPUzj606KknXLnShtRY+bctk 4loEQcum3Da5EFMx6YQc/NcalLf6FNT7WVtS9U7xgmp5xAtVbXr1AoKFXvSrBi5/r33X E5ng== X-Forwarded-Encrypted: i=1; AJvYcCU2Ybe3GqDB9Dh1t03uRHovANvU2nLZM4F/9dDWP3g9iM4pEEPtPGNXhAmZuV5eOGQzswzobcQN38TK1xA=@vger.kernel.org X-Gm-Message-State: AOJu0Yy3lSxT9oeH7KXExU6q8RE1YwkP6KxEGNyCMTqjkVpafPhPdQif I1ko9JDx6HR1yrqLxCBAVD/ptHuEOtxOCp4rbvmzgTvyUMxH8KGGJe6b X-Gm-Gg: ATEYQzxa9LnS6q80CnT0IhX2OMQ+P02ylMtNOhfFFt32Gwi2PiavyJD3xZ0i9Ye/cmk Ku32x3nMGYPjc/5uW/1acE13YpfqwU/ct21gUQ+wARZSZb/HK/aTgbM859NY19FqMcftS++oJt4 LUz2lpl1CqKWbLmKvzrd/koyMdkIGey3svpLGBf43YofQHovo7Fq/lL31xbDW+xk4QavkdTndEJ VJfgNA9NRHhNSyn8xwxJ1swuyFs6e4rrPbK+KbeuIRUCwS2x11bWTeJEyMlcNkyP+MloSeCiHht PWCq0Apk0VQrZ75ZGUl+PEk5Keu61q/cFfXdyVTJJ99qo2OYiy9oIzymPl6oSFLV2Fdj0QStJcb Mz5KmY5o+dXbaOrcXONlXIRhR722q5MbBZskNYAetyOK9WspXhNv1JfRyVwqGAy5zGy63wJ4Q6s IYrqvf7YmDPIoCtL+nFQ== X-Received: by 2002:a17:903:1a67:b0:2b0:48ca:a641 with SMTP id d9443c01a7336-2b06e3c3abdmr23929835ad.25.1773820171046; Wed, 18 Mar 2026 00:49:31 -0700 (PDT) Received: from localhost ([111.228.63.84]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b06e604e7bsm23349425ad.63.2026.03.18.00.49.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Mar 2026 00:49:30 -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, Cen Zhang , stable@vger.kernel.org Subject: [PATCH v2] f2fs: add READ_ONCE() for i_blocks in f2fs_update_inode() Date: Wed, 18 Mar 2026 15:32:53 +0800 Message-Id: <20260318073253.3108313-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. Fixes: 19f99cee206c ("f2fs: add core inode operations") Cc: stable@vger.kernel.org Signed-off-by: Cen Zhang Reviewed-by: Chao Yu --- 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