From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E8043FFF8E for ; Mon, 13 Jul 2026 12:01:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783944077; cv=none; b=fGzyMmnkVzi/Qlf1SPqUVEk0YZshG003i2twr5v41ympX9V1Yyt/90+RR0zbyavBDynSAFMstKKMl3dsHHAfw82HNpGI9fG+GZFhFdpsFZ0IoLb1jXAd+2VM4ymTcRdNH8QSsW/k89zqoPigB61pi8cz0SThQIw1T3HPFZXR0r8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783944077; c=relaxed/simple; bh=jSxYyjOejAAZA2FaAP8P+Jr9deDf0VpvQdsQTARJpBc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=X8Bo1tk2by+P9RUo1TUyhC9nSiASONd22cqAelJ2lS1tmQ+v5QYpMFBRSnIz3PFofPpsj2R2LHcJeOIYOAEkluDCOPHfuSj9MNZ587Tuz400XQI0hVieUSSHuN3vby/oYuwnYq2PQrQi0dX1vVCNrO127QcI4ze/p/+Bf7EYWpE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=iO10ROJJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=AKJNMK/8; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="iO10ROJJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="AKJNMK/8" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66D9MDdt1090738 for ; Mon, 13 Jul 2026 12:01:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= d00HTewu/Xd8G958NgUSJI8ohMNYGbRnkLXKGtAo/Hk=; b=iO10ROJJXhWbUsJu 3u75FC5FnWUBdkIbUD+1hj/1EakmIXtCDxV9L3MlZDPmOAZcEe5Z/ATnr9BlQIVS G0h4RlqvglMpJcOAPYjB37qXA5W21m3cZY4EjFDq36uxGdbk8oCIFKBiSDZAhcPC 7tSmWgFHctUPmuRY3cMUZDUC4nCSK0bkE/4IBW0c6utoDyYhxmRhnJzEI0vG7CqY 3YB5+M9SM5rhPblV6QsveMRYYpaF2Azbdv1UQrkQsEZtvqpvJcOn1CJHlURqfn1e W9wSXIwifuxVKQkVbRd2D+evvwRPgj313FRoBwa8jhyTPrcF5qqJ/qlj9KiW4IOX TOtn4Q== Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fcwavrj5n-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 13 Jul 2026 12:01:15 +0000 (GMT) Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-3883dc4ad23so1269937a91.0 for ; Mon, 13 Jul 2026 05:01:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1783944075; x=1784548875; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=d00HTewu/Xd8G958NgUSJI8ohMNYGbRnkLXKGtAo/Hk=; b=AKJNMK/8pEbV2IvMwlzUB2KbYx6jM2uN7/zJ4kDxXfW7g+ARRBTXREHlOD7wHlJEXP YuRm3knVihdh/d0rFMdnbEoBOMTwem42st6aqLVM0obFKO1e69Hgf5qHbn4r48bFFJ8s aK0/jf6lf2O/1SFmzVS+GvrJSNwzrcPywbYXCdt772qmiRmRdmmDmrHhij0XL1dpbPK0 N9V8eo1qImFfhEFDVO5hcvnNFsYLIT8lzlhJl96PY06/wipYGAaceJP/vi+VfDpU3ftK qKpNgEO/RMYmfCJMe+rnxSO8RJEBSMGUQi0dM8+PMR885d1d6op3EbaJ3Gpn4zRIc0s1 mN+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783944075; x=1784548875; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=d00HTewu/Xd8G958NgUSJI8ohMNYGbRnkLXKGtAo/Hk=; b=a+h3WmqwB1riJ/XmTOkyvLz3tgGJF/YqqSOMrLwF8Bz/AjACKFY4QRG4WLY1fQl7uE E4FAveQP7KbIm2dnn6LjTuYhY/j72KB2nG6Dt5cpx355G7JaPnyWuD6OPOW4zoVjgWZo sOJP1JF0KoiaGRsTI5R8axZREhyluQfnym0pLzCIhytOEw4NBPYzEiYChTgnxDVQcc9S aGlGZxzKqkKwfGQb+HU1DMq6nsz4RKtofEButdOwrzB86kmaq4deUZdSFw0+qmXytDcq 0FIAhwh7MRPqgKZlGS69iUporYf+dQqeHQZiDuXqoH+JNQefUZ2rXesZi8CIeMhBWgx9 2K2w== X-Forwarded-Encrypted: i=1; AHgh+RohbmBYj/fquCM309ItzyDgZ+NL2jZiGG0zmMyLjfH87B2Ep7uN/Qzohd1RfKyVoEi7zQS87bsSN0vzvTo=@vger.kernel.org X-Gm-Message-State: AOJu0Yw/uJIjcASA+GXbdn7900VlgjfasHZlkRpjpRWhbsJYnFVk6PsF TwSfTLS828D21YlQyDSCwfUdPINUQTVaSKNk1XviDyV0rCgPhHK2PTCvSElI11eHPkkGgb1wbGO ZvluavX/COCFGsYlHXNA4/vJuugRrHU/n2e87eJ7PAkISBimBcAqdBNoZnI8dtXJHu0c= X-Gm-Gg: AfdE7cntkoo/LMrEIFWfIh354eIxjcsZCTUkXNM14mBkvmeJCxjtTWLCnOFLJfVMNfg YTJE30Nd2affU+0BHWomQnYD8i6nj7SvUYpwIFb9dyoNLJ03cv3GHqhcdz7ITalH6OE6sJS4Cmk V9n8xVTRol8nZMeTuLubbgU2vq0COodxxb2ljHPWz6ah862u3eCYw4iR/JE3ZSaBDwbSluKes57 yuXUhYVNvmo6hOLV2eKHBWINZGARDbmTs9suw2LRufdIu1+08OJ75oUi1vzofndMaHma02PAzrB rb5A55JFuUrvC4gl3wYiTu6/xCHJ0AZriVpqU8GMMva2yaL76fbKtUUV1lOeEtjzXBkZBCysK5f u6YvO+0AXeBRjIUP/3XLZgJetUGky3Ef6iFmTwYJZZVmn87gQYOnrlsD+mw== X-Received: by 2002:a17:90b:564c:b0:37f:eda5:516f with SMTP id 98e67ed59e1d1-38dc760604fmr6411027a91.0.1783944074325; Mon, 13 Jul 2026 05:01:14 -0700 (PDT) X-Received: by 2002:a17:90b:564c:b0:37f:eda5:516f with SMTP id 98e67ed59e1d1-38dc760604fmr6411019a91.0.1783944073924; Mon, 13 Jul 2026 05:01:13 -0700 (PDT) Received: from hu-zijuhu-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-31174ae6cd9sm74577772eec.31.2026.07.13.05.01.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 05:01:13 -0700 (PDT) From: Zijun Hu Date: Mon, 13 Jul 2026 05:01:12 -0700 Subject: [PATCH v2 2/5] Bluetooth: coredump: Allow drivers to pad dump header to fixed size Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260713-btusb_prep_qcc2072-v2-2-bbcb651285f2@oss.qualcomm.com> References: <20260713-btusb_prep_qcc2072-v2-0-bbcb651285f2@oss.qualcomm.com> In-Reply-To: <20260713-btusb_prep_qcc2072-v2-0-bbcb651285f2@oss.qualcomm.com> To: Marcel Holtmann , Luiz Augusto von Dentz Cc: Zijun Hu , linux-bluetooth@vger.kernel.org, linux-kernel@vger.kernel.org, Zijun Hu X-Mailer: b4 0.14.3 X-Proofpoint-GUID: 1xapAga2RfHG6Pmrfxjgj97Er437aRL9 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzEzMDEyNSBTYWx0ZWRfXy+/xZr3PaE1J 9/5uMBuin1gCs9soO1/2vaVvKb8acKCtsPhs5+HrgZSwdHgZr9qI7nhoVzYOn+Y0QffoP2w4G/l +gw7EDfBQEs6lfp5u8n/c4Va4mNats/pLrsEfuk+32Km7WipjMn78/7HibHMtyj3cL/NjWgmNIa DnYdEW27PvPDSvd0RZtnr+ugBlwWX18j+yZcvj1SUgD4kfM77MA3P62N3B4qrQpbjWRDWpn/hX+ zxZ6T51/cJETo5rs15VlTR6petAstAvuWPF0+poaRBkomktjH/Cag1kN9L4r9cOnFrgxObFD9ct yhGVq99q3ozGmk9ps4DPPxT1kkdol/Gaydk+NHKabv0nTpwGj4Hzf6TJKSq3CTOTt9/Kmj22FTt qYFbgkQhCd34anOTlQFPYXbQzAOqfwEKPF+qetrcPrsBY3PekA6hh/fO4ingxXR+qjcNVlsrRuf XZ6QZH6XK6yUV8pVp/A== X-Proofpoint-ORIG-GUID: 1xapAga2RfHG6Pmrfxjgj97Er437aRL9 X-Authority-Analysis: v=2.4 cv=dZSwG3Xe c=1 sm=1 tr=0 ts=6a54d38b cx=c_pps a=RP+M6JBNLl+fLTcSJhASfg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=EUspDBNiAAAA:8 a=yQAzOZDq_a3C0jIT-HgA:9 a=QEXdDO2ut3YA:10 a=iS9zxrgQBfv6-_F4QbHw:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzEzMDEyNSBTYWx0ZWRfX0IGCArnlS9Qq JOT01wrUz+zXJ0xxU2sPHFMOAOeB0ahbw54fnJanx9COyHYZ3vseprVdXnDUSiHnyysBGIlEcrD B4pjxdYrMsOnHGCywCpPMn0+VOc5Gv8= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-13_02,2026-07-10_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 adultscore=0 malwarescore=0 spamscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607130125 To let a driver easily separate header and data in the generated coredump, allow a vendor driver to pad its header to a fixed size by: - exposing MAX_HCI_DEVCD_HDR_SIZE as the max header size - exposing HCI_DEVCD_HDR_END as the header-ending marker Signed-off-by: Zijun Hu --- include/net/bluetooth/coredump.h | 4 ++++ net/bluetooth/coredump.c | 7 ++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/include/net/bluetooth/coredump.h b/include/net/bluetooth/coredump.h index ab85a6adfffd..b668277bdb76 100644 --- a/include/net/bluetooth/coredump.h +++ b/include/net/bluetooth/coredump.h @@ -8,6 +8,10 @@ #define DEVCOREDUMP_TIMEOUT msecs_to_jiffies(10000) /* 10 sec */ +/* total size shared by coredump and driver's dmp_hdr() */ +#define MAX_HCI_DEVCD_HDR_SIZE 512 +#define HCI_DEVCD_HDR_END "--- Start dump ---\n" + typedef void (*coredump_t)(struct hci_dev *hdev); typedef void (*dmp_hdr_t)(struct hci_dev *hdev, struct sk_buff *skb); typedef void (*notify_change_t)(struct hci_dev *hdev, int state); diff --git a/net/bluetooth/coredump.c b/net/bluetooth/coredump.c index 913bbba559f8..af444b48b82d 100644 --- a/net/bluetooth/coredump.c +++ b/net/bluetooth/coredump.c @@ -34,8 +34,6 @@ struct hci_devcoredump_skb_pattern { hci_dmp_cb(skb)->pkt_type, \ hci_devcd_state_name(hdev->dump.state)) -#define MAX_DEVCOREDUMP_HDR_SIZE 512 /* bytes */ - static int hci_devcd_update_hdr_state(char *buf, size_t size, int state) { int len = 0; @@ -63,7 +61,6 @@ static int hci_devcd_update_state(struct hci_dev *hdev, int state) static int hci_devcd_mkheader(struct hci_dev *hdev, struct sk_buff *skb) { - char dump_start[] = "--- Start dump ---\n"; char hdr[80]; int hdr_len; @@ -74,7 +71,7 @@ static int hci_devcd_mkheader(struct hci_dev *hdev, struct sk_buff *skb) if (hdev->dump.dmp_hdr) hdev->dump.dmp_hdr(hdev, skb); - skb_put_data(skb, dump_start, strlen(dump_start)); + skb_put_data(skb, HCI_DEVCD_HDR_END, strlen(HCI_DEVCD_HDR_END)); return skb->len; } @@ -154,7 +151,7 @@ static int hci_devcd_prepare(struct hci_dev *hdev, u32 dump_size) int dump_hdr_size; int err = 0; - skb = alloc_skb(MAX_DEVCOREDUMP_HDR_SIZE, GFP_ATOMIC); + skb = alloc_skb(MAX_HCI_DEVCD_HDR_SIZE, GFP_ATOMIC); if (!skb) return -ENOMEM; -- 2.34.1