* [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