Hi Marcel, On Mon, Jun 16, 2014, Marcel Holtmann wrote: > The highly optimized TX path for L2CAP channels and its fragmentation > within the HCI ACL packets requires to copy data from user provided > IO vectors and also kernel provided memory buffers. > > This patch allows channel clients to provide a memcpy_fromiovec callback > to keep this optimized behavior, but adapt it to kernel vs user memory > for the TX path. For all kernel internal L2CAP channels, a default > implementation is provided that can be referenced. > > In case of A2MP, this fixes a long-standing issue with wrongly accessing > kernel memory as user memory. > > Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> > Tested-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> > --- > include/net/bluetooth/l2cap.h | 22 ++++++++++++++++++++++ > net/bluetooth/a2mp.c | 1 + > net/bluetooth/l2cap_core.c | 6 ++++-- > net/bluetooth/l2cap_sock.c | 34 +++++++++++++++++++++------------- > 4 files changed, 48 insertions(+), 15 deletions(-) Applied to bluetooth-next. Thanks. Johan -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html