From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (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 C987F3B583B for ; Wed, 24 Jun 2026 09:53:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782294800; cv=none; b=HpqZidPx81/TZvchxF78aN9j6uP0JfGFikrHJyiDbtwCzPPusLd79BAVvfHZsPUSJUSjiyqgzSY75PX1o/wAv5xT8+Ak0JPd3fcVZO2aZugP6tLOR2bUaVrokNUHBdnpWRmSOL5/AZoL+3w01Mz/4w36GZOxImfcAB3WdmY5SLY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782294800; c=relaxed/simple; bh=URoxyQKjPhKxt92W5MRdg5N2t3Xv1dSnRH4jSjuIM7s=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=JgfBEiVw6gt4TRwdUwyXNwjJvl8EC/Zd7YK1l8rUJMh5t1Hg+SzVaIJ3CF3Mdo1BedcVIIKuN89e8mQ92RoJYrZIqbsVhtSLsiyVChGf7AXYjpIz53Lj3jbjvk/5lnWjUKnKlPPMPfAmWrw1MEQ6GhQZs/7MPPQ/ucKHneXTlUk= 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=mjF0G7/f; arc=none smtp.client-ip=209.85.216.49 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="mjF0G7/f" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-37c867bd3e0so515404a91.0 for ; Wed, 24 Jun 2026 02:53:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782294797; x=1782899597; 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=LU9X7+Tdz5zrP1eqy0eH4+PnbG8UzjQnw7f/Je2fQW4=; b=mjF0G7/fKN965RaqX46APQM9g5amwyRDjmpIVmDYsE/IMTl2Ldb+22u6eSsEg0oSH8 oUffMGfLBBBE/4ukvj5fiy+O/HX0F8S+vr5BBiSqIrg3xifESKLthWVeSxYpzL+DiBE0 hRlY5MJrmzrc14CUlq2lrOkKJXhlFy7mieo+u9VPNxkgRA2ILDLNen7oB0hDgLseFS28 bBGYJPmLlxiPIxnHi1Eu4uFUwGro5G8gvi4cSK7Iv3GrEbBTKR6fASOEYxS8X+8uncPZ udnxJY1Ix599gwNolZJh0DtpNrCPA8+5uuO149YWkxmiaGAnmJjTnaSPLv6HQE6EwWJI hOuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782294797; x=1782899597; 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=LU9X7+Tdz5zrP1eqy0eH4+PnbG8UzjQnw7f/Je2fQW4=; b=iHeM+Sstm0mq3jhvBg7utA79EBCbe93Y5ZYEs+pbGUDR1uiZFCGx/0rh0+fqTgu+X8 8SeqJunUzHgsJfLrFzcPU6ZxdUbInMSUYSiq1GxrqMhLGiGVauoshm3pjRLzUxPzNM4s A456HDEPddGi7YnPqbVlC34IGzNxRupy/MlkkZJ3jalK2n17dNiNO3UXAQgpJ8FESXYr orJ5FhH35oNc6DmcHyI/G3Mh+T10/Q41hoijLgnn1thueyHo36I5Vsw4Ik56uvOORQUj snl6T1RYwbkEvjm+69EXimEpvVwTKd4JgmQgoiwNqS6i6Z/uY9flf6gITn8MpP5p4zRk a6Rg== X-Forwarded-Encrypted: i=1; AHgh+RojQ3M3u67CwOW645+vvUarBlmBy3uo2OUdZRIlqL8m0kiyOHknWgMLcLSmqlGfkUTrqRpqivEZ9bdXv28=@vger.kernel.org X-Gm-Message-State: AOJu0YzWGU3PzZJED9rxWO2cPp7eB47txMYF+60UHQ7IQOHn+olcsJ71 yNCMHwoVmZvyfRrk//kbEfIZkgf+4jUXThxxt7HYGfdNceW1bXUPIG2y X-Gm-Gg: AfdE7clTJo3JXc91/pAPCKTzuYxXKLprbrYVguKUqveiudTHZyNmWiImgv2U3QX69L3 BRb1EHZFRlbmqCZImdqYbeDsm9fDiZj8liC3fh4MexFDSX66oLhCV5FTHzfVneiL3+uY5ZxJLlX /0MVSiyqoLhaHVI3h01wCpcHI/LFA3m1HQjk3bG7FmQUsVzow2ZPKKoFyTzhUUl4cltgx087mNC Xa65ugBPF8IuSXsq+1/sNGZ6opZNcZ74r8QfVk6t9XRIuh3ZvFScioPlsThM6N+ic2BaQovH+y9 fBw0uwtrAHT+TRiO9GKAe5Whbbj4zuaiOSS1HPPrXodUf0FvhNGbnsAePs5Qvj1aZLnO72IVGYD S2T+R782fXXPWaT2fpVKKq5qqaSn0FBzTc/sRK9ftXWn0pq7dDRYWOj0b+RFZYWXQSKs7I55CFl miOXU4wQE= X-Received: by 2002:a17:90b:4a8d:b0:368:147f:bd27 with SMTP id 98e67ed59e1d1-37de44e2282mr2724975a91.23.1782294796722; Wed, 24 Jun 2026 02:53:16 -0700 (PDT) Received: from localhost ([111.228.63.84]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-37de3ce544dsm2247634a91.9.2026.06.24.02.53.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jun 2026 02:53:16 -0700 (PDT) From: Cen Zhang To: Mark Fasheh , Joel Becker , Joseph Qi Cc: Andrew Morton , ocfs2-devel@lists.linux.dev, linux-kernel@vger.kernel.org, baijiaju1990@gmail.com, zzzccc427@gmail.com Subject: [PATCH 0/2] ocfs2: harden heartbeat teardown races Date: Wed, 24 Jun 2026 17:53:08 +0800 Message-Id: <20260624095310.763763-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: 8bit Hi, This series fixes two OCFS2 heartbeat/o2net teardown races found by KASAN. This series is based on my earlier patch: [PATCH v2] ocfs2/cluster: keep heartbeat local node stable That patch has been queued in Andrew's -mm tree as: ocfs2-cluster-keep-heartbeat-local-node-stable.patch It is needed as the base because this series uses the stable per-region heartbeat node number from that patch instead of re-reading o2nm_this_node() during teardown. Patch 1 stops heartbeat callbacks from queuing o2net reconnect and disconnect work after local o2net teardown has started, while still keeping the callbacks registered for quorum state. Patch 2 keeps a heartbeat region non-armable while it is starting or stopping, unregisters negotiate handlers before tearing down state they can reach, and waits for the active or destroying o2net ordered workqueue before freeing the region. Thanks, Cen Cen Zhang (2): ocfs2: synchronize heartbeat callbacks with o2net teardown ocfs2: o2hb: quiesce negotiate handlers and timeout work fs/ocfs2/cluster/heartbeat.c | 99 ++++++++++++++---- fs/ocfs2/cluster/heartbeat.h | 5 + fs/ocfs2/cluster/nodemanager.c | 4 + fs/ocfs2/cluster/tcp.c | 186 +++++++++++++++++++++++++++------ fs/ocfs2/cluster/tcp.h | 2 + 5 files changed, 247 insertions(+), 49 deletions(-) -- 2.43.0