From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 F32AC42B75F for ; Thu, 30 Apr 2026 14:42:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560126; cv=none; b=FUAnq++/9OIrMQyfBwDhEM5x+8BmHlaOGKx9m1OIWOQzzgEbhEtKiJFkS3kzXyvfy5yxjOjMmGgkQh6jddhT1q3xeWXNapEpi6dPuQQdaRfMDZzie/rVD6KMthfxcJ3oB9goIQa3ylQ87vdEdzJrz9Pelde4fBHnEn8hsplOwf4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777560126; c=relaxed/simple; bh=VTg9pQ21A/M7oN0Q9FOF6H4e6thUrhmh44K67qTqYjU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NcLrsGueMFOXGLWtb5EB3x+PFhz7J+5tzifwJ151iOJ+ATZDrwU4x55kr7Sos4ZWDf5Dhi4WjdZUM4TmQdxXCb+FW1B0Yv/lPcsU9V3fZVq5AaHaIZTjvbHA7GTHshV5Kkn1Dwnfw7PEBwqIH+L0p3KXb+kdxEQlHxfXX8VD65A= 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=ay6UOrYW; arc=none smtp.client-ip=209.85.128.48 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="ay6UOrYW" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4890d945eb4so13156125e9.0 for ; Thu, 30 Apr 2026 07:42:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777560123; x=1778164923; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cRgXd8fDwM7hDkydv0/5o7xbaYUy7EeXbwemVcULL+8=; b=ay6UOrYWKkHtlwO3KQ4rOqMCQ2QUvDPKViiAK+Io4TN/qFyxi7ZoyEyYn8Rokgtu22 R046Bav7cAfIJW7rQpuvxGcM+OGFo2NMWb3XZjOpz4Eii1BqyjT5IQFnkkRBOGiDee78 ghFYlrMWv9G8PJgJT8sqtN+bnAf+BNzF3//WwvfI/6ldmpFXul0dar5L2qSPem5fhaBR jKAoer1jHmUz5dgie0fF3lndAN0RyNhFgqnyJD0YReOOgqL6YyxaM5Z5TsZ37NoEbj8L Ka7Nr0XEiMaFcsEGxtPACIl0IEcgi2n+FqkP4DLUBcui5HJFEuSZYEVzWDk59NxMGkTS c0yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777560123; x=1778164923; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=cRgXd8fDwM7hDkydv0/5o7xbaYUy7EeXbwemVcULL+8=; b=ZIeuxZRywsRl31oUoebdliS390H2yJDdI/e9IypIWXj7lbNEoBERKCWftqWIzBYEhL uPmhTETqE0fKkS1nnHWLptnxa+xB2tUQ7Q0KcFPZF5Fiakaa86IguyNpdAamMluxJdWG S1BPiRQkAtlQmj0Wh06eL1KtyGrFLVJWYnmnef1oTUePUCrB7MSxunfUivnYeHme8vAM oO8xnsty/uAsJhcAuBQiyLR1Un4kpbUd8ny/4vyzkabPqSzIF+Wlb9mdf30imHOgn5X1 Zso6O36e1E1q0kkvnIw1N4VTVDOPg3UEXRg0dbbwQg9kXcXQIKZNXNGnvOr/z6g2AzbH wfyg== X-Gm-Message-State: AOJu0Yzqs9WA2O6QwT9+im+6HVi0nAzJ0q+NjdwymSNadLqisGY/BUcV MMziL6Epcbjt65iHaZj7EO9gZvUZiSUMyeC8lGN5eCm8ZIHyzbM3na+nMH5uth60sFA= X-Gm-Gg: AeBDiet4QDUXlQ2yr4KHzpLOY1gCaIxWENWb/3irSqN5ObqK2xDB7RKz3d1LdNYePBQ EcDBQioMwmrIGI4kFXN3XWjFwz8o8K4R93qwWe/P/lMY8eThfahCm9eGpEnPcPLWYn0nc1XgA6x kThN2xOiQUbXnmTcmytA5CaNHrpM+3rKx/CuQSelwLsgN+ToqUzp3ChkH6ATMwV1h0HIJG+m5XB HmWY9UULnceQBqVH414fIS5L8v5Zdmob7RoQgfSHmex50O+GBks2jiFDI7TMu6k4GfM/i/j4xNG LuFKVZdoNf+zAR4i7N7kQgLAT1xGVBNnkiCLDnuNbINIzLp0V0a48OUGNTJQK6gJogEikLGYtaF KcFTUaamsQsmLdkJg7ok1bq9lPDpJ0ktG/RZEoQ+uCPMwNcCu+cvs6xHTacYaa+tjfKGOybUchl cJTN3CWfbZrBjN7flt3ihnq+/u3FISbMLwiUr0o/0u7GmKyeY+iBxkqzEQkRrYCHQnL5y3j2j4Q BW8kC2vimGP9/BEPnNu5w== X-Received: by 2002:a05:600c:3e8e:b0:48a:5339:a46 with SMTP id 5b1f17b1804b1-48a86069e04mr42051775e9.9.1777560122746; Thu, 30 Apr 2026 07:42:02 -0700 (PDT) Received: from dohko.chello.ie (188-141-5-72.dynamic.upc.ie. [188.141.5.72]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48a7c3161a6sm40960015e9.23.2026.04.30.07.42.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 07:42:02 -0700 (PDT) From: David Carlier To: linux-trace-kernel@vger.kernel.org Cc: linux-kernel@vger.kernel.org, rostedt@goodmis.org, mhiramat@kernel.org, mathieu.desnoyers@efficios.com, peterz@infradead.org, vineeth@bitbyteword.org, David Carlier Subject: [PATCH v2] tracepoint: add lockdep rcu_is_watching() check to trace_##name##_enabled() Date: Thu, 30 Apr 2026 15:41:59 +0100 Message-ID: <20260430144159.10985-1-devnexen@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260430053511.8767-1-devnexen@gmail.com> References: <20260430053511.8767-1-devnexen@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit trace_call__##name() was added by commit 677a3d82b640 ("tracepoint: Add trace_call__##name() API") for callers that already gate on trace_##name##_enabled(), letting them skip the redundant static_branch_unlikely() re-evaluation. The LOCKDEP rcu_is_watching() WARN_ONCE() that trace_##name() carries on the disabled path was not mirrored, so the cold-path coverage added by commit c2679254b9c9 ("tracing: Make tracepoint lockdep check actually test something") is lost for trace_call__##name() callers when the tracepoint is disabled. When the tracepoint is enabled, the rcu_dereference inside __DO_TRACE_CALL() already trips under PROVE_RCU, so the warning is only needed on the !enabled path. The natural place is the gate that trace_call__##name() callers consult: trace_##name##_enabled(). Fixes: 677a3d82b640 ("tracepoint: Add trace_call__##name() API") Cc: Vineeth Pillai (Google) Cc: Mathieu Desnoyers Cc: Masami Hiramatsu Cc: Peter Zijlstra Signed-off-by: David Carlier --- include/linux/tracepoint.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h index 578e520b6ee6..3b3ab19c2627 100644 --- a/include/linux/tracepoint.h +++ b/include/linux/tracepoint.h @@ -293,6 +293,10 @@ static inline struct tracepoint *tracepoint_ptr_deref(tracepoint_ptr_t *p) static inline bool \ trace_##name##_enabled(void) \ { \ + if (IS_ENABLED(CONFIG_LOCKDEP)) { \ + WARN_ONCE(!rcu_is_watching(), \ + "RCU not watching for tracepoint"); \ + } \ return static_branch_unlikely(&__tracepoint_##name.key);\ } -- 2.53.0