Bluetooth: Prevent Bluetooth L2CAP Remote Heap Memory Corruption

A remote user can provide a small value for the command size field in
the command header of an l2cap configuration request, resulting in an
integer underflow when subtracting the size of the configuration request
header.  This results in copying a very large amount of data via
memcpy() and destroying the kernel heap.  Check for underflow.

Change-Id: Ib60b50b8c591de78fa4582d321fdaa3378fa15a3
Merge "Bluetooth: Prevent Bluetooth L2CAP Remote Heap Memory Corruption" into kk4.4