[PATCH 00/15] Rework parsing of HCI events

Luiz Augusto von Dentz
2021-12-01T00:02:47Z

This reworks the parsing of HCI events using skb_pull_data to check
event length, in addition to that it does introduce function tables to
handle events, LE subevents, Command Complete and Command Status which
simplify the callback by adding a common code that uses skb_pull_data
when parsing such events.

Luiz Augusto von Dentz (15):
skbuff: introduce skb_pull_data
Bluetooth: HCI: Use skb_pull_data to parse BR/EDR events
Bluetooth: HCI: Use skb_pull_data to parse Command Complete event
Bluetooth: HCI: Use skb_pull_data to parse Number of Complete Packets
event
Bluetooth: HCI: Use skb_pull_data to parse Inquiry Result event
Bluetooth: HCI: Use skb_pull_data to parse Inquiry Result with RSSI
event
Bluetooth: HCI: Use skb_pull_data to parse Extended Inquiry Result
event
Bluetooth: HCI: Use skb_pull_data to parse LE Metaevents
Bluetooth: HCI: Use skb_pull_data to parse LE Advertising Report event
Bluetooth: HCI: Use skb_pull_data to parse LE Ext Advertising Report
event
Bluetooth: HCI: Use skb_pull_data to parse LE Direct Advertising
Report event
Bluetooth: hci_event: Use of a function table to handle HCI events
Bluetooth: hci_event: Use of a function table to handle LE subevents
Bluetooth: hci_event: Use of a function table to handle Command
Complete
Bluetooth: hci_event: Use of a function table to handle Command Status

include/linux/skbuff.h | 2 +
include/net/bluetooth/hci.h | 59 +-
net/bluetooth/hci_event.c | 3031 +++++++++++++++++++----------------
net/bluetooth/msft.c | 2 +-
net/bluetooth/msft.h | 2 +-
net/core/skbuff.c | 23 +
6 files changed, 1689 insertions(+), 1430 deletions(-)

--
2.33.1