]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
Bluetooth: Fix missing length checks for L2CAP signalling PDUs
authorJohan Hedberg <johan.hedberg@intel.com>
Tue, 28 May 2013 10:46:30 +0000 (13:46 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 19 Jun 2013 01:16:58 +0000 (02:16 +0100)
commit90647b580ec248f93a3b8dceb4bcc4ca6dc325d3
treedebaee6490b834e61f24a62e0f46a42b5adcacb5
parent8548c6942cbce6a38d3dd9e218e043dd1e1941d0
Bluetooth: Fix missing length checks for L2CAP signalling PDUs

commit cb3b3152b2f5939d67005cff841a1ca748b19888 upstream.

There has been code in place to check that the L2CAP length header
matches the amount of data received, but many PDU handlers have not been
checking that the data received actually matches that expected by the
specific PDU. This patch adds passing the length header to the specific
handler functions and ensures that those functions fail cleanly in the
case of an incorrect amount of data.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
[bwh: Backported to 3.2:
 - Adjust context
 - Move uses of *req below the new check in l2cap_connect_req]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
net/bluetooth/l2cap_core.c