From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (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 BBCB030C158 for ; Fri, 21 Aug 2026 01:18:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787275098; cv=none; b=HxmnhUgSwiqpdjzVH0Dv0aMqdQTPqrd9OI45wfN/qpRM3tiTVSHyKx01xogXwSTxUVxA09gYRv7OrdX6V26aZJjeejntbj6bSeUE9A+3lKm6XIkUca/Ufa+gjXPjTIaqgaThotnpYtH3SqQ1DB7vRsFuB5hgwunJZsPZF3JAlJw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787275098; c=relaxed/simple; bh=HzoQnoraORYnXXTk5XubFVZ6A6ZKID3UuX5d2Cmm/Pg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=bQMgAhm2HDVOTBTMNhODdyfth8gSzZ25vc1egeJ9qpshW8Kx8ucDdqKw8KT+kzEvhiewAkHetizTjyfLuKR6tumZKlfZ4MAd6xKBG6Sswfb9zQmqqCwJHUEmcomwdWk4PhAoMjv+krLU9VE0NKKv4ox2PtcT/qdXjfry2lZ0D1M= 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=HV12mI0l; arc=none smtp.client-ip=209.85.214.176 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="HV12mI0l" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-2ceab75934dso6968645ad.2 for ; Thu, 20 Aug 2026 18:18:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787275097; x=1787879897; 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:content-type; bh=SGrJBR4hZ4Cq2aRtS5KUrRUKYwX+uBipSwTzUU8zxuk=; b=HV12mI0lasEEdOaBGzF7vZ+SVVCTRk874AXWMHr3963wCJz1bOAFs+DimBq5AMzTTj onIEb+hjVecL5wNan1t/gufMro+9oVSJJC5T9NOmZYrLYlh+iIvHnHlpx7OunA4CQ0df Vp6hZN0+92NDlWRYOzK1tcNeBG3xPS3vclMs4P3KYB8ZG9k74raI5HatOLWtN1px3eKE ENe/twA1n/OImMNyaO50Lw2zGReOFrdC9188mT+nyIklq4mPjjfvhEeMlvjO38aOhjM6 cVCFJztUp2KJ8oG8K0zgxF2OZU1L0YlxN2m5UNA2zwsf8PmyLY2/jJL71toOJIhEonuC Dbkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787275097; x=1787879897; 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:content-type; bh=SGrJBR4hZ4Cq2aRtS5KUrRUKYwX+uBipSwTzUU8zxuk=; b=T6PHeaqYuQ4FOCPqR0gGqKSmnIz9dXlyZ0WpLUmOJSB9E0oAZPpzO69oVEupmFnBYN gMBnSeLF94mn6ir3iI6jzz3f/9Bwo1lmtsFtvx71L/k5NplJn9dhFy5R+8Bh0TwFAVuS B4u1GmxVVxnJ6GHL1RaDlYgTrdoByXbbe6Q9vs8AFlAEw2LlhYr106QMEwXk8fI2+YFI OMrql8D7fx/rQqiXukYlbKRcw3F6m5/r9tbUZODLpMvifYFgGTLpGmBcsA++zUw0Zp7R yxEZLSIGiI3RakNHT+S62Z9k/uFRttc1NXRPXSHVw7dU02JOPp8YfUUof/DyaqNFfPI8 5qzA== X-Gm-Message-State: AFuF++nO7OEkDQgYnEnGap6b423xHJY8UkiwHMxhdRKKg/YbgsxHuhSF b22QBomdDTpsXDXacP0c7zFbnDLwKEn45KJrkBmHrT+o0PlzKoS+f3bsLOk9GQ== X-Gm-Gg: AR+sD13mvvzJeoaZ/TuofoW9dvhUB9dO+iJJhAQwGNuPJxHWtpXGbURHUwvmFEqd2Fy SCiQgI+B5tULSbZNZ15WMDGw+kxSmXetdfc5XfOUyo54oV8bnEeeHKC4qPw1hw5VBOToSqXh+3v /GCG2Xoa3p/rOeKES1wR6n3MLQVmZhbE0Oz+mhUppSsaeiYRS8K3n7hx8CzyYbPGlEUVKCNviD5 g5Qjjmfwo7JucdwNN18P6BwVOqzOThfIX3uplbujkSbgquSCxI1dac/cIKanLfHHlav+x3CH4Vd c3sz14paO3xuJl/zM+dUpbPa+EpJe3e5es58StG5IK2SU8ufxMHhT/dSV3WZY4qvkuffTHtLgxn c38NGdidQJe/lMcnj69/xFQzFInS6Z5DcKFDyGav7kwMR4RCNI3F//tWD1eOkvRLkTIP4js02UW zIIPnKGkqYQ4wZ44VbOWwkhoOIS4OmEdCRrT3L9iLVk1NDyfIE35UcfZVe6vXeXP1nbwVm8WvDK AH3MIT/bRJaaTO9qeOtfZXuKioFihhZH7fYxnQh9yOGgDYAyNOzin3icYYFOMacDtjwCvHdn7Hc a6vPcupGKO0d X-Received: by 2002:a17:902:d4cc:b0:2c9:aae1:a61a with SMTP id d9443c01a7336-2d64b0c6a16mr42930375ad.14.1787275096885; Thu, 20 Aug 2026 18:18:16 -0700 (PDT) Received: from daehojeong-desktop.mtv.corp.google.com ([2a00:79e0:2e7c:8:f50e:ef36:528f:d8d5]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-327d6168e5bsm10374357eec.1.2026.08.20.18.18.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Aug 2026 18:18:16 -0700 (PDT) From: Daeho Jeong To: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, kernel-team@android.com Cc: Daeho Jeong , stable@kernel.org Subject: [PATCH] f2fs: fix error handling on device alias check in rename and unlink Date: Thu, 20 Aug 2026 18:18:12 -0700 Message-ID: <20260821011812.2938998-1-daeho43@gmail.com> X-Mailer: git-send-email 2.55.0.766.g2966f0265a-goog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Daeho Jeong In f2fs_rename() and f2fs_unlink(), directly returning -EPERM when encountering a device aliasing file bypasses the cleanup path. Fix this by setting err to -EPERM and jumping to the proper cleanup labels (out_dir and out) instead of returning immediately. Fixes: a737e409a3d6 ("f2fs: support dynamic reserve/release for device aliasing") Cc: stable@kernel.org Signed-off-by: Daeho Jeong --- fs/f2fs/namei.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c index 784f636244e1..b9b15c5d28de 100644 --- a/fs/f2fs/namei.c +++ b/fs/f2fs/namei.c @@ -571,8 +571,10 @@ static int f2fs_unlink(struct inode *dir, struct dentry *dentry) trace_f2fs_unlink_enter(dir, dentry); - if (IS_DEVICE_ALIASING(inode)) - return -EPERM; + if (IS_DEVICE_ALIASING(inode)) { + err = -EPERM; + goto out; + } if (unlikely(f2fs_cp_error(sbi))) { err = -EIO; @@ -1025,8 +1027,10 @@ static int f2fs_rename(struct mnt_idmap *idmap, struct inode *old_dir, } if (new_inode) { - if (IS_DEVICE_ALIASING(new_inode)) - return -EPERM; + if (IS_DEVICE_ALIASING(new_inode)) { + err = -EPERM; + goto out_dir; + } err = -ENOTEMPTY; if (old_is_dir && !f2fs_empty_dir(new_inode)) -- 2.55.0.766.g2966f0265a-goog