From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> 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. v2: Fix declaration of hci_event_func. 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