* [PATCH BlueZ v1 1/2] bass: Fix attaching to unicast session
@ 2025-12-04 18:31 Luiz Augusto von Dentz
2025-12-04 18:31 ` [PATCH BlueZ v1 2/2] shared/bap: Fix parsing of BT_ASCS_METADATA for multiple ASE IDs Luiz Augusto von Dentz
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Luiz Augusto von Dentz @ 2025-12-04 18:31 UTC (permalink / raw)
To: linux-bluetooth
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This attempst to check if bt_bap session is attached to an ATT channel
then it shall be considered an unicast session not a broadcast session.
---
profiles/audio/bass.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/profiles/audio/bass.c b/profiles/audio/bass.c
index 8886a27d99b6..20c37323bb0e 100644
--- a/profiles/audio/bass.c
+++ b/profiles/audio/bass.c
@@ -1298,6 +1298,10 @@ static void bap_bc_attached(struct bt_bap *bap, void *user_data)
struct btd_adapter *adapter;
struct bass_data *data;
+ /* Only handle broadcast session */
+ if (bt_bap_get_att(bap))
+ return;
+
DBG("%p", bap);
db = btd_gatt_database_get(bt_bap_get_db(bap, false));
--
2.52.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH BlueZ v1 2/2] shared/bap: Fix parsing of BT_ASCS_METADATA for multiple ASE IDs 2025-12-04 18:31 [PATCH BlueZ v1 1/2] bass: Fix attaching to unicast session Luiz Augusto von Dentz @ 2025-12-04 18:31 ` Luiz Augusto von Dentz 2025-12-04 19:49 ` [BlueZ,v1,1/2] bass: Fix attaching to unicast session bluez.test.bot 2025-12-05 20:10 ` [PATCH BlueZ v1 1/2] " patchwork-bot+bluetooth 2 siblings, 0 replies; 4+ messages in thread From: Luiz Augusto von Dentz @ 2025-12-04 18:31 UTC (permalink / raw) To: linux-bluetooth From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> bt_ascs_metadata is variable length so when there are multiple ASE IDs each item needs to be parsed according to its length otherwise it would cause issues such as bellow where the ASE IDs is incorrectly parse: > ACL Data RX: Handle 2048 flags 0x02 dlen 25 ATT: Write Command (0x52) len 20 Handle: 0x009b Type: ASE Control Point (0x2bc6) Data[18]: 070201060302040001050206030204000105 Opcode: Update Metadata (0x07) Number of ASE(s): 2 ASE: #0 ASE ID: 0x01 Metadata: #0: len 0x03 type 0x02 Context: 0x0004 Media (0x0004) Metadata: #1: len 0x01 type 0x05 ASE: #1 ASE ID: 0x02 Metadata: #0: len 0x03 type 0x02 Context: 0x0004 Media (0x0004) Metadata: #1: len 0x01 type 0x05 = first LTV in the metadata is incorrectly used as ASE ID (0x03) src/shared/bap.c:ep_metadata() ep 0x55b1f428d490 id 0x03 dir 0x02 src/shared/bap.c:ep_metadata() Invalid state config < ACL Data TX: Handle 2048 [1/6] flags 0x00 dlen 15 ATT: Handle Value Notification (0x1b) len 10 Handle: 0x009b Type: ASE Control Point (0x2bc6) Data[8]: 0702010000030400 Opcode: Update Metadata (0x07) Number of ASE(s): 2 ASE: #0 ASE ID: 0x01 ASE Response Code: Success (0x00) ASE Response Reason: None (0x00) ASE: #1 ASE ID: 0x03 ASE Response Code: Invalid ASE State (0x04) ASE Response Reason: None (0x00) --- src/shared/bap.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/shared/bap.c b/src/shared/bap.c index 27321a3d1e3d..b5840d18a820 100644 --- a/src/shared/bap.c +++ b/src/shared/bap.c @@ -3508,10 +3508,12 @@ static uint8_t ascs_stop(struct bt_ascs *ascs, struct bt_bap *bap, return ep_stop(ep, rsp); } -static uint8_t ep_metadata(struct bt_bap_endpoint *ep, struct iovec *meta, - struct iovec *rsp) +static uint8_t ep_metadata(struct bt_bap_endpoint *ep, + struct bt_ascs_metadata *req, + struct iovec *iov, struct iovec *rsp) { struct bt_bap_stream *stream = ep->stream; + struct iovec meta; DBG(stream->bap, "ep %p id 0x%02x dir 0x%02x", ep, ep->id, ep->dir); @@ -3530,7 +3532,13 @@ static uint8_t ep_metadata(struct bt_bap_endpoint *ep, struct iovec *meta, return 0; } - return stream_metadata(ep->stream, meta, rsp); + if (iov->iov_len < req->len) + return BT_ATT_ERROR_INVALID_ATTRIBUTE_VALUE_LEN; + + meta.iov_base = util_iov_pull_mem(iov, req->len); + meta.iov_len = req->len; + + return stream_metadata(ep->stream, &meta, rsp); } static uint8_t ascs_metadata(struct bt_ascs *ascs, struct bt_bap *bap, @@ -3557,7 +3565,7 @@ static uint8_t ascs_metadata(struct bt_ascs *ascs, struct bt_bap *bap, return 0; } - return ep_metadata(ep, iov, rsp); + return ep_metadata(ep, req, iov, rsp); } static uint8_t ascs_release(struct bt_ascs *ascs, struct bt_bap *bap, -- 2.52.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* RE: [BlueZ,v1,1/2] bass: Fix attaching to unicast session 2025-12-04 18:31 [PATCH BlueZ v1 1/2] bass: Fix attaching to unicast session Luiz Augusto von Dentz 2025-12-04 18:31 ` [PATCH BlueZ v1 2/2] shared/bap: Fix parsing of BT_ASCS_METADATA for multiple ASE IDs Luiz Augusto von Dentz @ 2025-12-04 19:49 ` bluez.test.bot 2025-12-05 20:10 ` [PATCH BlueZ v1 1/2] " patchwork-bot+bluetooth 2 siblings, 0 replies; 4+ messages in thread From: bluez.test.bot @ 2025-12-04 19:49 UTC (permalink / raw) To: linux-bluetooth, luiz.dentz [-- Attachment #1: Type: text/plain, Size: 1865 bytes --] This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1030563 ---Test result--- Test Summary: CheckPatch PENDING 0.30 seconds GitLint PENDING 0.30 seconds BuildEll PASS 20.11 seconds BluezMake PASS 644.50 seconds MakeCheck PASS 22.28 seconds MakeDistcheck PASS 243.38 seconds CheckValgrind PASS 303.36 seconds CheckSmatch WARNING 352.64 seconds bluezmakeextell PASS 184.62 seconds IncrementalBuild PENDING 0.39 seconds ScanBuild PASS 1028.84 seconds Details ############################## Test: CheckPatch - PENDING Desc: Run checkpatch.pl script Output: ############################## Test: GitLint - PENDING Desc: Run gitlint Output: ############################## Test: CheckSmatch - WARNING Desc: Run smatch tool with source Output: src/shared/bap.c:312:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structuressrc/shared/bap.c:312:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structuressrc/shared/bap.c:312:25: warning: array of flexible structuressrc/shared/bap.c: note: in included file:./src/shared/ascs.h:88:25: warning: array of flexible structures ############################## Test: IncrementalBuild - PENDING Desc: Incremental build with the patches in the series Output: --- Regards, Linux Bluetooth ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH BlueZ v1 1/2] bass: Fix attaching to unicast session 2025-12-04 18:31 [PATCH BlueZ v1 1/2] bass: Fix attaching to unicast session Luiz Augusto von Dentz 2025-12-04 18:31 ` [PATCH BlueZ v1 2/2] shared/bap: Fix parsing of BT_ASCS_METADATA for multiple ASE IDs Luiz Augusto von Dentz 2025-12-04 19:49 ` [BlueZ,v1,1/2] bass: Fix attaching to unicast session bluez.test.bot @ 2025-12-05 20:10 ` patchwork-bot+bluetooth 2 siblings, 0 replies; 4+ messages in thread From: patchwork-bot+bluetooth @ 2025-12-05 20:10 UTC (permalink / raw) To: Luiz Augusto von Dentz; +Cc: linux-bluetooth Hello: This series was applied to bluetooth/bluez.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Thu, 4 Dec 2025 13:31:14 -0500 you wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > > This attempst to check if bt_bap session is attached to an ATT channel > then it shall be considered an unicast session not a broadcast session. > --- > profiles/audio/bass.c | 4 ++++ > 1 file changed, 4 insertions(+) Here is the summary with links: - [BlueZ,v1,1/2] bass: Fix attaching to unicast session https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=90a2447a39fc - [BlueZ,v1,2/2] shared/bap: Fix parsing of BT_ASCS_METADATA for multiple ASE IDs https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=753262031701 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-12-05 20:13 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-12-04 18:31 [PATCH BlueZ v1 1/2] bass: Fix attaching to unicast session Luiz Augusto von Dentz 2025-12-04 18:31 ` [PATCH BlueZ v1 2/2] shared/bap: Fix parsing of BT_ASCS_METADATA for multiple ASE IDs Luiz Augusto von Dentz 2025-12-04 19:49 ` [BlueZ,v1,1/2] bass: Fix attaching to unicast session bluez.test.bot 2025-12-05 20:10 ` [PATCH BlueZ v1 1/2] " patchwork-bot+bluetooth
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox