lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <37c918cc-9b02-4901-87ce-753a6b9c90bd@molgen.mpg.de>
Date: Sat, 1 Nov 2025 16:52:47 +0100
From: Paul Menzel <pmenzel@...gen.mpg.de>
To: Pauli Virtanen <pav@....fi>
Cc: linux-bluetooth@...r.kernel.org, marcel@...tmann.org,
 johan.hedberg@...il.com, luiz.dentz@...il.com,
 jukka.rissanen@...ux.intel.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/4] Bluetooth: 6lowpan: reset link-local header on ipv6
 recv path

Dear Pauli,


Thank you for your patch.

Am 01.11.25 um 13:09 schrieb Pauli Virtanen:
> Bluetooth 6lowpan.c netdev has header_ops, so it must set link-local
> header for RX skb, otherwise things crash, eg. with AF_PACKET SOCK_RAW
> 
> Add missing skb_reset_mac_header() for uncompressed ipv6 RX path.
> 
> For the compressed one, it is done in lowpan_header_decompress().
> 
> Log: (BlueZ 6lowpan-tester Client Recv Raw - Success)
> ------
> kernel BUG at net/core/skbuff.c:212!
> Call Trace:
> <IRQ>
> ...
> packet_rcv (net/packet/af_packet.c:2152)
> ...
> <TASK>
> __local_bh_enable_ip (kernel/softirq.c:407)
> netif_rx (net/core/dev.c:5648)
> chan_recv_cb (net/bluetooth/6lowpan.c:294 net/bluetooth/6lowpan.c:359)
> ------
> 
> Fixes: 18722c247023 ("Bluetooth: Enable 6LoWPAN support for BT LE devices")
> Signed-off-by: Pauli Virtanen <pav@....fi>
> ---
>   net/bluetooth/6lowpan.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
> index f0c862091bff..f1d29fa4b411 100644
> --- a/net/bluetooth/6lowpan.c
> +++ b/net/bluetooth/6lowpan.c
> @@ -289,6 +289,7 @@ static int recv_pkt(struct sk_buff *skb, struct net_device *dev,
>   		local_skb->pkt_type = PACKET_HOST;
>   		local_skb->dev = dev;
>   
> +		skb_reset_mac_header(local_skb);
>   		skb_set_transport_header(local_skb, sizeof(struct ipv6hdr));
>   
>   		if (give_skb_to_upper(local_skb, dev) != NET_RX_SUCCESS) {

Reviewed-by: Paul Menzel <pmenzel@...gen.mpg.de>


Kind regards,

Paul

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ