Re: [PATCH] bluetooth, regression: MSG_TRUNC fixes

From: Luiz Augusto von Dentz
Date: Tue Aug 30 2016 - 04:23:38 EST


Hi Mika,

On Wed, Aug 24, 2016 at 1:13 PM, Mika PenttilÃ
<mika.penttila@xxxxxxxxxxxx> wrote:
> Recent 4.8-rc changes to bluetooth MSG_TRUNC handling introduced regression; pairing finishes
> but connecting profiles not.
>
> With the below fixes to MSG_TRUNC handling the connection is established normally.
>
> --Mika
>
>
> Signed-off-by: Mika Penttilà <mika.penttila@xxxxxxxxxxxx>
> ---
>
> diff --git a/net/bluetooth/af_bluetooth.c b/net/bluetooth/af_bluetooth.c
> index ece45e0..0b5f729 100644
> --- a/net/bluetooth/af_bluetooth.c
> +++ b/net/bluetooth/af_bluetooth.c
> @@ -250,7 +250,7 @@ int bt_sock_recvmsg(struct socket *sock, struct msghdr *msg, siz
>
> skb_free_datagram(sk, skb);
>
> - if (msg->msg_flags & MSG_TRUNC)
> + if (flags & MSG_TRUNC)
> copied = skblen;
>
> return err ? : copied;
> diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
> index 6ef8a01..96f04b7 100644
> --- a/net/bluetooth/hci_sock.c
> +++ b/net/bluetooth/hci_sock.c
> @@ -1091,7 +1091,7 @@ static int hci_sock_recvmsg(struct socket *sock, struct msghdr
>
> skb_free_datagram(sk, skb);
>
> - if (msg->msg_flags & MSG_TRUNC)
> + if (flags & MSG_TRUNC)
> copied = skblen;
>
> return err ? : copied;
> --

I believe similar patches already went to bluetooth-next so it should
be in the way if not already merged.

--
Luiz Augusto von Dentz