From nobody Mon Dec 1 21:32:45 2025 Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) (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 B93D32D6E76 for ; Thu, 27 Nov 2025 19:32:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.193 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764271979; cv=none; b=cmRjpHxxjhqH9CBjFRC27WnwFJ4wwursEBUFFnP9Wzq8xkbNYu+R0Uy57xtAiz1eoEi1yshBEY57xF9Q4r7tGWdxr9uss0810oclO+aQi1CDHZgawDKNmUqATjLUp5I7OLx96yv9/8A5z5oxf1oTtiQrUio5WZ+2NOF9W+M2gXY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764271979; c=relaxed/simple; bh=Tn9kt3Rd60qF6RLPM2DBnhkLPhIU66GGiGA+z7bAqHY=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=pVtokdhQj17vL0RyK5hx/CBoMzW8H5V+tX1gvdWV7WVty/R50dgdiuzxYotk/NLrWBqvSbj/PPPJD5haNvfGTH5PIl/ivAJgkmkBor2yExeNpwe1ZKuDRexjVibGfYpHz0oH4n0ENLKibvSF55xH5nCTnRyOi4wSrmwWJy8eXl8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ee.vjti.ac.in; spf=none smtp.mailfrom=ee.vjti.ac.in; dkim=pass (1024-bit key) header.d=vjti.ac.in header.i=@vjti.ac.in header.b=cesAgrzi; arc=none smtp.client-ip=209.85.214.193 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=ee.vjti.ac.in Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=ee.vjti.ac.in Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=vjti.ac.in header.i=@vjti.ac.in header.b="cesAgrzi" Received: by mail-pl1-f193.google.com with SMTP id d9443c01a7336-297ec50477aso4531395ad.1 for ; Thu, 27 Nov 2025 11:32:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vjti.ac.in; s=google; t=1764271977; x=1764876777; 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=lM1r++3RTNjRzY120+T4NuENeTC6ZBYSsw5Jwl/MuQU=; b=cesAgrziMcrzBoW4MuCRJJZ2T6Zcdd8KitSUA4KqbjuV4LpcWkBHe9teiPO9dLAzrE 9rYhfzpJDPSDtlV7kSPNjkTLpFA0CAzhiOB4OvgazFHqcw+MefMft54iNwaUSOzZl8js sxUHeDHuWkHLq6i3JsLr0LBYDjjdpGnBCLjN8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764271977; x=1764876777; 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=lM1r++3RTNjRzY120+T4NuENeTC6ZBYSsw5Jwl/MuQU=; b=uhR6z94XNQ5KWSjeEfP+ZCWufun85y1ajyAg8s69gIgPys7XlL+pdRKBFUJCZJsJzI Osz/429ZqQ1WchKa55U6Ku9A6Mn1wctnru55VG4og90zgnI28VYs4BoMODIv5Z6AHGOe GGyKcpYcIiGAY5/j4+p0m9r5KjlG27uTN7paPaLVV7WJOZcuSlm/42bHKCWtNPYAt/8n B26+QFpwA59+UMoaRnyD1sfq4FLkOT+wYjdbdg9Qw9o9pbR6xmA2X1MnjyCcPRE1QGlz 9ITzcHqQpanfbPXq7X2xEIU1hZlz+VLgQCfM903my2erS6TFMveZJ4pDEf1djFNl77A6 whNQ== X-Forwarded-Encrypted: i=1; AJvYcCWunvH5euE4Cja2fIYup45oEE4g4PFKy6PdcV9pJPEjXnCwTvo/GlfI2lskiowv1dQQ8DuUXmXKwrMjm4s=@vger.kernel.org X-Gm-Message-State: AOJu0YwLow0E6mewIrz5unjn7x4qo3b3x+LeCQ7g+7R6hZUxxQApckWP a7HO8xx13NpxOr6E9BO2B5p8LVc61GUU6lWHEVNDgMfhvHNGjscOCLthT4Xlda+HaPuXZxswyap LeaLFK4IZGIaZWGI= X-Gm-Gg: ASbGnctoOAvU3HdJJTjvakowybuORY0EiNvLnVpY+pRVQijkUWOWpuhUKHiK2mb9IRG T6hi027XiOJUjmphg4ewyrqlDvX1mDij85ZC8Ezw2Bdmn6XZzFOGD8Avhl/16WnWapvVs6HXlHq Tw93/2AZCfx9Ok75AgdYvd04YHsZDqd+OTmfFgRxQ7VubeJkCUv6po89gLFTapvIqVCE4a7XSnB /HNtU2OuXGkAdrqNuh5Af7cdwR8zp90CCKw4/0vkgMLUZfEDXkI6hFSrqJY0CoIymcVLha3++TR ycl9JLr1TgiSgCHJPA8QYcJ/7B8hQ5FtIJCAyMVl2/5Zcig/xKl3G2GgW4nSmC35vcaebgkniqb au3P5DJ8eRNY/GGHoIFR8Ipf9UDJ7CQ1AROOURh0Co2Ys0+d2YF35b1wILCsq6tlgXgEgM00E+X mJK4A0CYZYEvAhCmIydVgtlnIv7GVXEJVMXU0LfSS6DPziUHJ1bK0qqFO8svriiA== X-Google-Smtp-Source: AGHT+IHKyKUSA2ibNsoBlTuZ1j6vGRVIEJN6h3w9mksWgr8c890wFiPTq7xmArcLJBhP8a/ET+BxEA== X-Received: by 2002:a17:902:cf41:b0:296:547a:4bf2 with SMTP id d9443c01a7336-29b6c004ae1mr257927005ad.27.1764271976944; Thu, 27 Nov 2025 11:32:56 -0800 (PST) Received: from ranegod-HP-ENVY-x360-Convertible-13-bd0xxx.. ([2409:40c0:1009:d133:e67f:bfbd:c82:9cc]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29bceb55192sm24595595ad.91.2025.11.27.11.32.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Nov 2025 11:32:56 -0800 (PST) From: Shaurya Rane To: agruenba@redhat.com Cc: gfs2@lists.linux.dev, linux-kernel@vger.kernel.org, skhan@linuxfoundation.org, linux-kernel-mentees@lists.linux.dev, david.hunter.linux@gmail.com, khalid@kernel.org, Shaurya Rane , syzbot+af4d53576692f8956fd6@syzkaller.appspotmail.com Subject: [PATCH] gfs2: replace BUG_ON with WARN_ON_ONCE in gfs2_quota_cleanup Date: Fri, 28 Nov 2025 01:02:47 +0530 Message-Id: <20251127193247.17030-1-ssrane_b23@ee.vjti.ac.in> 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" gfs2_quota_cleanup() triggers a kernel BUG when called while the journal is still marked live and SDF_NORECOVERY is not set. This can occur during filesystem withdraw or error recovery paths, particularly via gfs2_make_fs_ro() during a reconfigure operation. The BUG_ON was intended to catch unexpected state where quota cleanup runs while the journal is active. However, the cleanup code is safe in this scenario because it skips quota entries with active references and waits for all references to drain via wait_event_timeout(). Crashing the kernel is unnecessarily harsh for what is a recoverable situation. Replace the BUG_ON with WARN_ON_ONCE to flag the unexpected state for debugging while allowing the cleanup to proceed safely. Reported-by: syzbot+af4d53576692f8956fd6@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=3Daf4d53576692f8956fd6 Fixes: 71733b492200 ("gfs2: fix kernel BUG in gfs2_quota_cleanup") Signed-off-by: Shaurya Rane --- fs/gfs2/quota.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c index 2298e06797ac..13f113d8aaef 100644 --- a/fs/gfs2/quota.c +++ b/fs/gfs2/quota.c @@ -1516,8 +1516,8 @@ void gfs2_quota_cleanup(struct gfs2_sbd *sdp) LIST_HEAD(dispose); int count; =20 - BUG_ON(!test_bit(SDF_NORECOVERY, &sdp->sd_flags) && - test_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags)); + WARN_ON_ONCE(!test_bit(SDF_NORECOVERY, &sdp->sd_flags) && + test_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags)); =20 spin_lock(&qd_lock); list_for_each_entry(qd, &sdp->sd_quota_list, qd_list) { --=20 2.34.1