From: Luiz Augusto von Dentz <noreply@github.com>
To: linux-bluetooth@vger.kernel.org
Subject: [bluez/bluez] ccc22a: shared/hci: Add BPF filter for registered events
Date: Wed, 06 May 2026 06:56:41 -0700 [thread overview]
Message-ID: <bluez/bluez/push/refs/heads/master/31e4fb-e51115@github.com> (raw)
Branch: refs/heads/master
Home: https://github.com/bluez/bluez
Commit: ccc22a9193884ccc3c3cb2b7a7b90100187c20b5
https://github.com/bluez/bluez/commit/ccc22a9193884ccc3c3cb2b7a7b90100187c20b5
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-05-01 (Fri, 01 May 2026)
Changed paths:
M src/shared/hci.c
Log Message:
-----------
shared/hci: Add BPF filter for registered events
Implement a BPF socket filter in bt_hci_register/bt_hci_unregister that
uses setsockopt(SO_ATTACH_FILTER) to only accept HCI events that have
been registered, plus BT_HCI_EVT_CMD_COMPLETE and BT_HCI_EVT_CMD_STATUS
which are always needed for command response processing.
The filter is rebuilt each time an event is registered or unregistered,
and only applies to non-stream (raw socket) connections.
Assisted-by: Claude:claude-opus-4.6
Commit: 98f7190cf6b9e918943deeacd2f1494c9ca0710c
https://github.com/bluez/bluez/commit/98f7190cf6b9e918943deeacd2f1494c9ca0710c
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-05-01 (Fri, 01 May 2026)
Changed paths:
M src/shared/hci.c
M src/shared/hci.h
Log Message:
-----------
shared/hci: Add bt_hci_register_subevent for LE Meta events
Add bt_hci_register_subevent/bt_hci_unregister_subevent API that allows
registering for specific LE Meta Event subevents. The BPF filter is
extended to accept BT_HCI_EVT_LE_META_EVENT packets and then check the
subevent byte (offset 4) against registered subevents.
Since bt_hci_register_subevent is only used with BT_HCI_EVT_LE_META_EVENT,
the event parameter is omitted. The subevent list reuses struct evt where
evt->event stores the subevent code.
Assisted-by: Claude:claude-opus-4.6
Commit: 45e1e7ca2243fdea4fb0f31ac56de2e9ee9e9c5b
https://github.com/bluez/bluez/commit/45e1e7ca2243fdea4fb0f31ac56de2e9ee9e9c5b
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-05-01 (Fri, 01 May 2026)
Changed paths:
M profiles/ranging/rap_hci.c
Log Message:
-----------
ranging/rap_hci: Use bt_hci_register_subevent for LE CS events
Replace the single BT_HCI_EVT_LE_META_EVENT registration and subevent
dispatch table with individual bt_hci_register_subevent calls for each
CS subevent. This enables BPF filtering at the socket level for each
specific subevent and removes the manual subevent dispatch logic.
Event IDs are stored in a struct queue for flexible management.
Assisted-by: Claude:claude-opus-4.6
Commit: 3502f9f51704acf8035b30e748462dd0fbf10be8
https://github.com/bluez/bluez/commit/3502f9f51704acf8035b30e748462dd0fbf10be8
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-05-01 (Fri, 01 May 2026)
Changed paths:
M tools/hci-tester.c
Log Message:
-----------
hci-tester: Use bt_hci_register_subevent for LE Meta events
Convert all bt_hci_register(BT_HCI_EVT_LE_META_EVENT) calls to use
bt_hci_register_subevent with the specific subevent code. Update
callbacks to work with data that no longer contains the subevent byte
prefix, since bt_hci_register_subevent strips it before dispatch.
Assisted-by: Claude:claude-opus-4.6
Commit: fda84f7004fa4f1173c6482ac19973e1e7891655
https://github.com/bluez/bluez/commit/fda84f7004fa4f1173c6482ac19973e1e7891655
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-05-04 (Mon, 04 May 2026)
Changed paths:
M monitor/packet.c
Log Message:
-----------
monitor: Add features bits defined in 6.2
This adds features bits defined as per core spec 6.2:
https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Core-62/out/en/low-energy-controller/link-layer-specification.html#UUID-56ada5ed-4ae3-acee-198f-27ead57d86f1
Commit: 79cfd07224ff3e2dc9828bdcb795fc49120da3f3
https://github.com/bluez/bluez/commit/79cfd07224ff3e2dc9828bdcb795fc49120da3f3
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-05-04 (Mon, 04 May 2026)
Changed paths:
M monitor/bt.h
M monitor/packet.c
Log Message:
-----------
monitor: Add decoding for Short Connection Interval feature
This adds deconding support for SCI related commands, command bits, event
event mask bit and feature bits:
Events:
HCI_LE_Connection_Rate_Change(0x37)
Commands:
HCI_LE_Connection_Rate_Request(0x20a1)
HCI_LE_Set_Default_Rate_Parameters(0x20a2)
HCI_LE_Read_Minimum_Supported_Connection_Interval(0x20a3)
Commit: 6aa7f5b4e0224e8b6668d7b9787d11d443ec72fd
https://github.com/bluez/bluez/commit/6aa7f5b4e0224e8b6668d7b9787d11d443ec72fd
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-05-05 (Tue, 05 May 2026)
Changed paths:
M emulator/hciemu.c
Log Message:
-----------
hciemu: Fix crash if hciemu_client_new return NULL
The following crahs can be observed if hciemu_client_new fails:
Invalid read of size 8
at 0x12DA79: queue_get_entries (queue.c:356)
by 0x118434: hciemu_get_client (hciemu.c:277)
by 0x1184A3: hciemu_client_get_host (hciemu.c:301)
by 0x11536B: setup_powered_common (l2cap-tester.c:1452)
by 0x11568E: setup_powered_client (l2cap-tester.c:1491)
by 0x1324C6: setup_callback (tester.c:500)
by 0x48A304D: g_main_context_dispatch (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
by 0x48A33FF: ??? (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
by 0x48A36F2: g_main_loop_run (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.6)
by 0x133868: mainloop_run (mainloop-glib.c:65)
by 0x133C9F: mainloop_run_with_signal (mainloop-notify.c:196)
by 0x13325F: tester_run (tester.c:1085)
Address 0x4c1e388 is 8 bytes inside a block of size 32 free'd
at 0x483CA3F: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x1187BF: hciemu_new_num (hciemu.c:437)
Commit: d0d42d034f9f7be3e743f885366becb758f19bde
https://github.com/bluez/bluez/commit/d0d42d034f9f7be3e743f885366becb758f19bde
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-05-05 (Tue, 05 May 2026)
Changed paths:
M emulator/vhci.c
Log Message:
-----------
emulator/vhci: Add debug messages to error paths
Add debug_callback, debug_destroy and debug_data fields to struct vhci
so vhci_set_debug stores the callback locally in addition to passing it
to btdev. Introduce a variadic vhci_debug() helper using util_debug_va
and add debug messages to the following error paths:
- vhci_write_callback: failed io_send
- vhci_read_callback: failed read
- vhci_debugfs_write: failed open and failed write
Commit: d4c965eec4d391d835b8884aed6f36d343ff73af
https://github.com/bluez/bluez/commit/d4c965eec4d391d835b8884aed6f36d343ff73af
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-05-05 (Tue, 05 May 2026)
Changed paths:
M emulator/hciemu.c
Log Message:
-----------
emulator/hciemu: Add debug messages to error paths
Introduce a variadic hciemu_debug() helper using util_debug_va and add
debug messages to the following error paths:
- create_vhci: failed to open vhci
- hciemu_client_new: failed to create btdev, bthost, or socketpair
Commit: 164941a6c145b1ad9590faadc547de60bda4f020
https://github.com/bluez/bluez/commit/164941a6c145b1ad9590faadc547de60bda4f020
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-05-05 (Tue, 05 May 2026)
Changed paths:
M tools/gap-tester.c
Log Message:
-----------
tools/gap-tester: Enable hciemu debug output
Add print_debug callback and call hciemu_set_debug when debug output is
enabled so that hciemu error paths are visible during test runs.
Commit: e51115ccd4dfd8ea9dc7662240c20d7703464a45
https://github.com/bluez/bluez/commit/e51115ccd4dfd8ea9dc7662240c20d7703464a45
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2026-05-05 (Tue, 05 May 2026)
Changed paths:
M tools/userchan-tester.c
Log Message:
-----------
tools/userchan-tester: Enable hciemu debug output
Call hciemu_set_debug when debug output is enabled so that hciemu error
paths are visible during test runs.
Compare: https://github.com/bluez/bluez/compare/31e4fb1498f4...e51115ccd4df
To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications
reply other threads:[~2026-05-06 13:56 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bluez/bluez/push/refs/heads/master/31e4fb-e51115@github.com \
--to=noreply@github.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.