All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/6] Bluetooth: convert remaining bluetooth socket families to getsockopt_iter
@ 2026-05-12 11:12 Breno Leitao
  2026-05-12 11:12 ` [PATCH net-next v2 1/6] Bluetooth: hci_sock: write the full optval for getsockopt Breno Leitao
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Breno Leitao @ 2026-05-12 11:12 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Simon Horman,
	Shuah Khan
  Cc: linux-bluetooth, linux-kernel, netdev, linux-kselftest,
	Breno Leitao

Continue the conversion to .getsockopt_iter for the Bluetooth socket
families: hci_sock, ISO, RFCOMM, SCO and L2CAP. The first patch is a
small precursor that fixes a long-standing 1-byte put_user write in
hci_sock_getsockopt_old() so the subsequent conversion stays mechanical.

The riskiest change in this series is the SCO BT_CODEC conversion: it
is the only one that drops an open-coded ptr cursor in favour of
relying on iter_out advancing naturally on every copy_to_iter() call.
Every other socket option is a near-mechanical s/copy_to_user/
copy_to_iter/ rewrite, but BT_CODEC walks a variable-length list of
codecs + capabilities and previously tracked its own write offset by
hand. Getting the cursor semantics wrong here would silently truncate
or misalign user-visible codec data.

For more context about the motivation for this change, please check
commit 67fab22a7ad ("net: add getsockopt_iter callback to proto_ops")

Signed-off-by: Breno Leitao <leitao@debian.org>
---
Changes in v2:
- rebase the tree on top of bluetooth-next.
- Remove the selftest, which was mixing network and bluetooth together.
- Link to v1: https://patch.msgid.link/20260511-getsock_three-v1-0-1461fa8786ab@debian.org

To: Marcel Holtmann <marcel@holtmann.org>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: linux-bluetooth@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

---
Breno Leitao (6):
      Bluetooth: hci_sock: write the full optval for getsockopt
      Bluetooth: hci_sock: convert to getsockopt_iter
      Bluetooth: ISO: convert to getsockopt_iter
      Bluetooth: RFCOMM: convert to getsockopt_iter
      Bluetooth: L2CAP: convert to getsockopt_iter
      Bluetooth: SCO: convert to getsockopt_iter

 net/bluetooth/hci_sock.c    | 26 +++++++++++--------
 net/bluetooth/iso.c         | 27 ++++++++++----------
 net/bluetooth/l2cap_sock.c  | 61 +++++++++++++++++++++++++++------------------
 net/bluetooth/rfcomm/sock.c | 30 ++++++++++++----------
 net/bluetooth/sco.c         | 59 ++++++++++++++++++++++---------------------
 5 files changed, 114 insertions(+), 89 deletions(-)
---
base-commit: c2f0079e8c42fd6814c8d6b1491e3ce0a0e3b3fa
change-id: 20260511-getsock_three-d0d7f1b2629e

Best regards,
--  
Breno Leitao <leitao@debian.org>


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-05-14 17:51 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-12 11:12 [PATCH net-next v2 0/6] Bluetooth: convert remaining bluetooth socket families to getsockopt_iter Breno Leitao
2026-05-12 11:12 ` [PATCH net-next v2 1/6] Bluetooth: hci_sock: write the full optval for getsockopt Breno Leitao
2026-05-12 13:44   ` Bluetooth: convert remaining bluetooth socket families to getsockopt_iter bluez.test.bot
2026-05-12 11:12 ` [PATCH net-next v2 2/6] Bluetooth: hci_sock: convert " Breno Leitao
2026-05-12 11:12 ` [PATCH net-next v2 3/6] Bluetooth: ISO: " Breno Leitao
2026-05-12 11:12 ` [PATCH net-next v2 4/6] Bluetooth: RFCOMM: " Breno Leitao
2026-05-12 11:12 ` [PATCH net-next v2 5/6] Bluetooth: L2CAP: " Breno Leitao
2026-05-12 11:12 ` [PATCH net-next v2 6/6] Bluetooth: SCO: " Breno Leitao
2026-05-12 17:50 ` [PATCH net-next v2 0/6] Bluetooth: convert remaining bluetooth socket families " patchwork-bot+bluetooth
2026-05-14 17:51 ` Luiz Augusto von Dentz

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.