From nobody Tue Dec 16 11:30:01 2025 Received: from mail-pg1-f201.google.com (mail-pg1-f201.google.com [209.85.215.201]) (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 9A5B1257AD1 for ; Fri, 25 Jul 2025 18:38:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753468736; cv=none; b=QNAzzL1KsIDcxUFL30oHsjP4afaTrJarCmC8hFMaKU43ZwKhYE6VkjXfwg1wos921VsIomYwU1eH737ho3GOu/h3Ia4bdtWmEJ/TdpgbDcW5umlA+lRtTlflyRHF9asfmaMNRpRYUvVlb8U/B+mRYRpXeqRzdK+MAYHNs4gCdeM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753468736; c=relaxed/simple; bh=HNdw2Y2WCnhZqIPQ+M+4zVLBT3PzyW7Ihk8KCE6gAxo=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=rfgXhJuC8dNydpYreaqBXd5Pz5xSS5Vrh0zvtEW9h8K+Za43rO9/+GLlC6Rq56h5ufzASVF/uEP+cHlLZq3RTAvqQA+pf8B9hHVNOvxu615vaI4/E8xUYjSrwnLcyLSiAp4qpozlxtJzBTAKvbsyHgYuLwMG3s/SnWy19TnXzsQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--cmllamas.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=gdnHZJoe; arc=none smtp.client-ip=209.85.215.201 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--cmllamas.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="gdnHZJoe" Received: by mail-pg1-f201.google.com with SMTP id 41be03b00d2f7-b2fa1a84566so1977566a12.1 for ; Fri, 25 Jul 2025 11:38:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1753468733; x=1754073533; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=BtHJWM2gXUsv6xzq7C6P5vZ0vTx2NB+Xsxgc7a7A5cA=; b=gdnHZJoesypWylctChe9EPLBCzsFtbH8dKVQyz8KKzzhmSmFKrKW1eIzlAmq9Sflx9 RSh3T8V4sVMTiXuDqhK6d8HUOSAqE8/7BXK14Uy4A5CvbIuImoma4ZPo0BTVsOLfey7g z0+LqPzwq4w15rUYwUdMAkXoqv5fg3Os5jyuDp9wp1h4jAcZVZ/fTdYT36po+5ZI5XpX xPALA2Hvuh+9Ly2OUjNWQdxYbm0j1h69IHpa/fzLWCs/7S8Md89/OLF3PIJaVY5Y5Er8 ynYFnpzoPrx9kwAKHiRtNYFv28uzUlzcAJ3F+I4YMoOHlPDScW4FyEN9HmrvD8ALxTTS jMzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753468733; x=1754073533; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BtHJWM2gXUsv6xzq7C6P5vZ0vTx2NB+Xsxgc7a7A5cA=; b=B6JDJNpeFOD9IP1UcKjpC7Yme/PU9ZtLACfjyjg47zdLgPHYRHGuKFcpe3UkBUvVGX Kh/1NEL0oVKU6clE2HW9lj4D8bKeoleHB99qskFm1Bxovs9VDoUS28ZhDgZbqc+A/zuB SAOCi+iyzH+3S1Zdy+C18WHHs97Rbtc3b2ta2VSfqDAjjwcvG8NncZRCiiAasjl3krTm FhPfHqhB2gKvBv5JO7DrE2Ld8Ls48rZfS5cfFO3p+Dy+EgrsLHWwUYZXeUbUKVSL/WMc pPivrg6kA4/uoBImzbf2+5euue59eCIiqce6MDplpt+EJx2YT476+3UGaGjJbzm2kd4n z9hg== X-Forwarded-Encrypted: i=1; AJvYcCWyvy2KFpIkPVOsYYPFYTPDmc2UgpJ6+M6KGRCYS3Ayu3x3SuW0Jrv7bL8Dz/oHWE1Egxef1/uxzTQPD4M=@vger.kernel.org X-Gm-Message-State: AOJu0Yy4wesv/z/gXw4GrveiNxzn/lUZoQWMiZqh8nUYnIQfVBqQ7yIw Jdx/o2DPRH6Val9RJTn574Z63qPBcRKuCabJ1EWDULkacashwJPVFnG+fs7fNdltbuIGvWz8VyK Yd9d0DAiGRzoqkg== X-Google-Smtp-Source: AGHT+IHehI44CPZIxqVRMYAOdwAyVvBYGJhn1tV9DCg+jG+3LDBGdiqqf60J1xPbMKfHKRoH4sberB1zlyk2rg== X-Received: from plbmm6.prod.google.com ([2002:a17:903:a06:b0:236:9738:9180]) (user=cmllamas job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:234c:b0:237:f7f8:7453 with SMTP id d9443c01a7336-23fb313a5d9mr48044665ad.51.1753468732937; Fri, 25 Jul 2025 11:38:52 -0700 (PDT) Date: Fri, 25 Jul 2025 18:37:48 +0000 In-Reply-To: <20250725183811.409580-1-cmllamas@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20250725183811.409580-1-cmllamas@google.com> X-Mailer: git-send-email 2.50.1.470.g6ba607880d-goog Message-ID: <20250725183811.409580-6-cmllamas@google.com> Subject: [PATCH v19 5/5] binder: add tracepoint for netlink reports From: Carlos Llamas To: Alice Ryhl , Greg Kroah-Hartman , "=?UTF-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?=" , Todd Kjos , Martijn Coenen , Joel Fernandes , Christian Brauner , Carlos Llamas , Suren Baghdasaryan Cc: Tiffany Yang , John Stultz , Shai Barack , "=?UTF-8?q?Thi=C3=A9baud=20Weksteen?=" , kernel-team@android.com, linux-kernel@vger.kernel.org, Jakub Kicinski Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add a tracepoint to capture the same details that are being sent through the generic netlink interface during transaction failures. This provides a useful debugging tool to observe the events independently from the netlink listeners. Signed-off-by: Carlos Llamas --- drivers/android/binder.c | 2 ++ drivers/android/binder_trace.h | 37 ++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/drivers/android/binder.c b/drivers/android/binder.c index 0d37eca514f9..695c1631703b 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -3014,6 +3014,8 @@ static void binder_netlink_report(struct binder_proc = *proc, BINDER_NLGRP_REPORT)) return; =20 + trace_binder_netlink_report(context, t, data_size, error); + skb =3D genlmsg_new(GENLMSG_DEFAULT_SIZE, GFP_KERNEL); if (!skb) return; diff --git a/drivers/android/binder_trace.h b/drivers/android/binder_trace.h index 97a78e5623db..fa5eb61cf580 100644 --- a/drivers/android/binder_trace.h +++ b/drivers/android/binder_trace.h @@ -402,6 +402,43 @@ TRACE_EVENT(binder_return, "unknown") ); =20 +TRACE_EVENT(binder_netlink_report, + TP_PROTO(const char *context, + struct binder_transaction *t, + u32 data_size, + u32 error), + TP_ARGS(context, t, data_size, error), + TP_STRUCT__entry( + __field(const char *, context) + __field(u32, error) + __field(int, from_pid) + __field(int, from_tid) + __field(int, to_pid) + __field(int, to_tid) + __field(bool, is_reply) + __field(unsigned int, flags) + __field(unsigned int, code) + __field(size_t, data_size) + ), + TP_fast_assign( + __entry->context =3D context; + __entry->error =3D error; + __entry->from_pid =3D t->from_pid; + __entry->from_tid =3D t->from_tid; + __entry->to_pid =3D t->to_proc ? t->to_proc->pid : 0; + __entry->to_tid =3D t->to_thread ? t->to_thread->pid : 0; + __entry->is_reply =3D t->is_reply; + __entry->flags =3D t->flags; + __entry->code =3D t->code; + __entry->data_size =3D data_size; + ), + TP_printk("from %d:%d to %d:%d context=3D%s error=3D%d is_reply=3D%d flag= s=3D0x%x code=3D0x%x size=3D%zu", + __entry->from_pid, __entry->from_tid, + __entry->to_pid, __entry->to_tid, + __entry->context, __entry->error, __entry->is_reply, + __entry->flags, __entry->code, __entry->data_size) +); + #endif /* _BINDER_TRACE_H */ =20 #undef TRACE_INCLUDE_PATH --=20 2.50.1.470.g6ba607880d-goog