Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp36681501rwd; Tue, 11 Jul 2023 04:28:23 -0700 (PDT) X-Google-Smtp-Source: APBJJlGaHp3O6wz+Hq7Goa+MALVHsaNR1tx5JODiX9kgA0t912cvciNAMdOQZjwNsPM9ospiPH2q X-Received: by 2002:a17:902:da92:b0:1b8:b841:3ff2 with SMTP id j18-20020a170902da9200b001b8b8413ff2mr14535540plx.64.1689074902963; Tue, 11 Jul 2023 04:28:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689074902; cv=none; d=google.com; s=arc-20160816; b=p89azV9TJg4+ATxWiOUgnQVesgV0n8o7HjpGYf+xAF059K9Q62wG0/RK9c4PZQzsr2 JP+/3nV18W6Bvvsziw1NcubisIKF3ga2HUMEKepmuZqTTmxgEjOUxK2J5UAHrS9mOZ2q XRtl8OTVdTmJZaNL+7/jz4BB4zOeRUsUDWgJTH5cL7DbaIOeETvkWzHjcF5dFn7s8KNy DrW7//aufRoVpzBw7nULyDW5eDyGXaVn9JYs4kRyUZAxnLWUTg9byS8Z9YUjdQOei9Wn Mz4dzTFLMPlVd9LDYZZiwJBaXpWhZq/SSlpiy6kBCM839UFOoz7+UvubDbI8BWdMCCRu 0ndA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=Dd+7wNioSMr7f6iy1H0hUOUn4CdjNtwL/S3FkoiVhz0=; fh=NQ7QgiKz5/+2FhXpoeSOxyXHHIUJ1tR6zC/3ox3HbAQ=; b=zqrcuKv4ck6B1wdiggJrHAVZ/a2e1EpRA8FsSEHH8/4oemmPTkY/6wcVxps4h5qWza jeCK6OkJ2YyTwpdu/iPoeGHyCKNwichTNTxW9ZSeuQcsE1UAsKR2g937ZWwjgTkSxCdd qypLO6Q0Xd8oUUIwfT+ZVoU5fz1tSVKm968widocWFvpOQEgO6+erFo5KNUvpVxSC/XR jliyaodgCSITMTwWspTIjHvWIIROsh7qngyE6eycEHVj6O55F5Zkd9TuTZ8wCEHzYJtp HoMcWBRduiZzw94eXJw8IEl82rZBvEFGBdooiMi0sY2bdnSDizaLee3WHgXrg/gqKBKg pcYg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@nbd.name header.s=20160729 header.b=hjhgaxNu; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nbd.name Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id kl3-20020a170903074300b001b8866a4abfsi1411388plb.82.2023.07.11.04.28.10; Tue, 11 Jul 2023 04:28:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@nbd.name header.s=20160729 header.b=hjhgaxNu; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nbd.name Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229990AbjGKLMp (ORCPT + 60 others); Tue, 11 Jul 2023 07:12:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45796 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231558AbjGKLMo (ORCPT ); Tue, 11 Jul 2023 07:12:44 -0400 Received: from nbd.name (nbd.name [46.4.11.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 409D018D for ; Tue, 11 Jul 2023 04:12:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=nbd.name; s=20160729; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Dd+7wNioSMr7f6iy1H0hUOUn4CdjNtwL/S3FkoiVhz0=; b=hjhgaxNuJLhNikHs63JLRoWYLv 3YshzsRxup/o7RFKvdaUvX1t5weypZRxIgdChs40ecAQZnRZ4IhD2w5c70rs7RjhjPePfumIVObg1 f1FmupwlKahpobHSRwVfYSjwPL4XJExZCbDd2TGiP76k7JI56qWHLHsdOQS3WKtN7Nx8=; Received: from p4ff134dd.dip0.t-ipconnect.de ([79.241.52.221] helo=nf.local) by ds12 with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qJBI7-00Gtjt-CV; Tue, 11 Jul 2023 13:12:23 +0200 Message-ID: <4bb71d8a-daf1-5f60-daf0-44aa8afcfdc3@nbd.name> Date: Tue, 11 Jul 2023 13:12:22 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [regression] STP on 80211s is broken in 6.4-rc4 Content-Language: en-US To: Nicolas Escande , Linux regressions mailing list , Bagas Sanjaya , =?UTF-8?Q?Toke_H=c3=b8iland-J=c3=b8rg?= =?UTF-8?Q?ensen?= , Kalle Valo , Johannes Berg Cc: linux-wireless@vger.kernel.org References: <809500b6-4eec-7a5e-5930-00e7eeebcc5e@leemhuis.info> From: Felix Fietkau In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On 10.07.23 18:50, Nicolas Escande wrote: > On Mon Jul 10, 2023 at 1:32 PM CEST, Linux regression tracking (Thorsten Leemhuis) wrote: >> On 16.06.23 09:45, Nicolas Escande wrote: >> > On Thu Jun 15, 2023 at 2:54 PM CEST, Linux regression tracking (Thorsten Leemhuis) wrote: >> >> On 10.06.23 08:44, Bagas Sanjaya wrote: >> >>> On Tue, Jun 06, 2023 at 12:55:57PM +0200, Nicolas Escande wrote: >> >>>> >> >>>> As user of the mesh part of mac80211 on multiple products at work let me say >> >>>> thank you for all the work you do on wifi, especially on 80211s, and especially >> >>>> the recent improvements you made for mesh fast RX/TX & cross vendor AMSDU compat >> >>>> >> >>>> We upgraded our kernel from an older (5.15) to a newer 6.4. The problem is STP >> >>>> doesn't work anymore and alas we use it for now (for the better or worse). >> >>>> >> >>>> What I gathered so far from my setup: >> >>>> - we use ath9k & ath10k >> >>>> - in my case STP frames are received as regular packet and not as amsdu >> >>>> - the received packets have a wrong length of 44 in tcpdump >> >>>> (instead of 38 with our previous kernel) >> >>>> - llc_fixup_skb() tries to pull some 41 bytes out of a 35 bytes packet >> >>>> this makes llc_rcv() discard the frames & breaks STP >> >>>> >> >>>> >From bisecting the culprit seems to be 986e43b19ae9176093da35e0a844e65c8bf9ede7 >> >>>> (wifi: mac80211: fix receiving A-MSDU frames on mesh interfaces) >> >>>> >> >>>> I guess that your changes to handle both ampdu subframes & normal frames in the >> >>>> same datapath ends up putting a wrong skb->len for STP (multicast) frames ? >> >>>> Honestly I don't understand enough of the 80211 internals & spec to pinpoint the >> >>>> exact problem. >> >>>> >> >>>> It seems this change was already in the 6.3 kernel so I guess someone should >> >>>> have seen it before (but I didn't find anything..) ? Maybe I missed something... >> >>>> >> >>>> Anyway I'm happy to provide more info or try anything you throw at me. >> >> [...] >> >> Hmmm, Felix did not reply. But let's ignore that for now. >> > >> > I haven't seen mails from felix on the list for a few days, I'm guessing he's >> > unavailable for now but I'll hapilly wait. >> >> Still no progress. Hmmm. Are you still okay with that? I've seen no >> other reports about this, so waiting is somewhat (albeit not completely) >> fine for me if it is for you. > I'm not so surprised no one else reported it, using STP on wifi (and 802.11s) is > not a really common thing to do, to be honest (and STP on wifi is unreliable). > Even though some openwrt guys do it for sure, I'm guessing their kernel version > is lagging behind... >> >> But in any case it might be good if you could recheck 6.5-rc1. > Testing on 6.5 as a whole won't be as easy for me as testing a single patch on > top of 6.4. I'll do my best to try but from what I saw nothing got merged that > would even remotely help me on this issue. > > I am not loosing hope that Felix or someone that understands this stuff better > finds the time to look into this. I'm guessing it's the summer vacation effet. Sorry for the delay. This should fix the regression, please test. I will submit it for 6.5 soon. --- --- a/net/wireless/util.c +++ b/net/wireless/util.c @@ -580,6 +580,8 @@ int ieee80211_strip_8023_mesh_hdr(struct hdrlen += ETH_ALEN + 2; else if (!pskb_may_pull(skb, hdrlen)) return -EINVAL; + else + payload.eth.h_proto = htons(skb->len - hdrlen); mesh_addr = skb->data + sizeof(payload.eth) + ETH_ALEN; switch (payload.flags & MESH_FLAGS_AE) {