* [PATCH BlueZ v1] device: Fix privacy
@ 2025-09-30 14:46 Luiz Augusto von Dentz
2025-09-30 16:15 ` [BlueZ,v1] " bluez.test.bot
0 siblings, 1 reply; 2+ messages in thread
From: Luiz Augusto von Dentz @ 2025-09-30 14:46 UTC (permalink / raw)
To: linux-bluetooth
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
In order for devices to properly be programmed into the adapter
resolving list they need to set the flag DEVICE_FLAG_ADDRESS_RESOLUTION
but that is only done if device_address_is_private return true but
currently it doesn't check the rpa flag which indicates that the address
has been updated to its identity.
While at it this also update the rpa flag to privacy to better indicate
the feature rather than just the address type and then introduces
device_set_privacy/device_get_privacy and replaces the usage of
device_address_is_private with device_get_privacy whenever the features
itself needs to be checked, rather than the current address type in use.
Fixes: https://github.com/bluez/bluez/issues/1079
---
src/adapter.c | 4 ++--
src/device.c | 16 ++++++++++++----
src/device.h | 3 ++-
3 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/src/adapter.c b/src/adapter.c
index dc5ba65d73fa..3afcb9277129 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -5091,7 +5091,7 @@ static void load_devices(struct btd_adapter *adapter)
goto free;
if (irk_info)
- device_set_rpa(device, true);
+ device_set_privacy(device, true);
btd_device_set_temporary(device, false);
adapter_add_device(adapter, device);
@@ -5752,7 +5752,7 @@ void adapter_set_device_flags(struct btd_adapter *adapter,
/* Set Address Resolution if it has not been set the flag yet. */
if (ll_privacy && btd_opts.defaults.le.addr_resolution &&
- device_address_is_private(device) &&
+ device_get_privacy(device) &&
!(flags & DEVICE_FLAG_ADDRESS_RESOLUTION))
flags |= DEVICE_FLAG_ADDRESS_RESOLUTION & supported & ~pending;
diff --git a/src/device.c b/src/device.c
index 8b3e78995881..9f0e8e673529 100644
--- a/src/device.c
+++ b/src/device.c
@@ -204,7 +204,7 @@ struct btd_device {
uint8_t conn_bdaddr_type;
bdaddr_t bdaddr;
uint8_t bdaddr_type;
- bool rpa;
+ bool privacy;
char *path;
struct btd_bearer *bredr;
struct btd_bearer *le;
@@ -4995,9 +4995,17 @@ void device_set_class(struct btd_device *device, uint32_t class)
DEVICE_INTERFACE, "Icon");
}
-void device_set_rpa(struct btd_device *device, bool value)
+void device_set_privacy(struct btd_device *device, bool value)
{
- device->rpa = value;
+ device->privacy = value;
+}
+
+bool device_get_privacy(struct btd_device *device)
+{
+ if (device->privacy)
+ return true;
+
+ return device_address_is_private(device);
}
void device_update_addr(struct btd_device *device, const bdaddr_t *bdaddr,
@@ -5005,7 +5013,7 @@ void device_update_addr(struct btd_device *device, const bdaddr_t *bdaddr,
{
bool auto_connect = device->auto_connect;
- device_set_rpa(device, true);
+ device_set_privacy(device, true);
if (!bacmp(bdaddr, &device->bdaddr) &&
bdaddr_type == device->bdaddr_type)
diff --git a/src/device.h b/src/device.h
index 9e7c30ad7186..6fbbdb1f2d28 100644
--- a/src/device.h
+++ b/src/device.h
@@ -29,7 +29,8 @@ bool device_is_name_resolve_allowed(struct btd_device *device);
void device_name_resolve_fail(struct btd_device *device);
void device_set_class(struct btd_device *device, uint32_t class);
bool device_address_is_private(struct btd_device *dev);
-void device_set_rpa(struct btd_device *device, bool value);
+void device_set_privacy(struct btd_device *device, bool value);
+bool device_get_privacy(struct btd_device *device);
void device_update_addr(struct btd_device *device, const bdaddr_t *bdaddr,
uint8_t bdaddr_type);
void device_set_bredr_support(struct btd_device *device);
--
2.51.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* RE: [BlueZ,v1] device: Fix privacy
2025-09-30 14:46 [PATCH BlueZ v1] device: Fix privacy Luiz Augusto von Dentz
@ 2025-09-30 16:15 ` bluez.test.bot
0 siblings, 0 replies; 2+ messages in thread
From: bluez.test.bot @ 2025-09-30 16:15 UTC (permalink / raw)
To: linux-bluetooth, luiz.dentz
[-- Attachment #1: Type: text/plain, Size: 1262 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=1007463
---Test result---
Test Summary:
CheckPatch PENDING 0.32 seconds
GitLint PENDING 0.33 seconds
BuildEll PASS 20.26 seconds
BluezMake PASS 3105.36 seconds
MakeCheck PASS 20.35 seconds
MakeDistcheck PASS 187.25 seconds
CheckValgrind PASS 237.01 seconds
CheckSmatch PASS 309.03 seconds
bluezmakeextell PASS 130.45 seconds
IncrementalBuild PENDING 0.35 seconds
ScanBuild PASS 934.60 seconds
Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:
##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-09-30 16:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-30 14:46 [PATCH BlueZ v1] device: Fix privacy Luiz Augusto von Dentz
2025-09-30 16:15 ` [BlueZ,v1] " bluez.test.bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox