Return-path: Received: from smtp.codeaurora.org ([198.145.29.96]:39408 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751917AbeCNPI4 (ORCPT ); Wed, 14 Mar 2018 11:08:56 -0400 From: Kalle Valo To: Arend van Spriel Cc: =?utf-8?Q?Rafa=C5=82_Mi=C5=82ecki?= , Franky Lin , Hante Meuleman , Chi-Hsien Lin , Wright Feng , Pieter-Paul Giesberts , James Hughes , linux-wireless@vger.kernel.org, brcm80211-dev-list.pdl@broadcom.com, brcm80211-dev-list@cypress.com, netdev@vger.kernel.org, Linus =?utf-8?Q?L=C3=BCssing?= , Felix Fietkau , bridge@lists.linux-foundation.org, =?utf-8?Q?Rafa=C5=82_Mi=C5=82ecki?= Subject: Re: [PATCH] brcmfmac: drop Inter-Access Point Protocol packets by default References: <20180314110119.13631-1-zajec5@gmail.com> <878tau7n23.fsf@codeaurora.org> <5AA93530.5040001@broadcom.com> Date: Wed, 14 Mar 2018 17:08:48 +0200 In-Reply-To: <5AA93530.5040001@broadcom.com> (Arend van Spriel's message of "Wed, 14 Mar 2018 15:44:00 +0100") Message-ID: <87o9jq66f3.fsf@codeaurora.org> (sfid-20180314_160909_250984_980A2099) MIME-Version: 1.0 Content-Type: text/plain Sender: linux-wireless-owner@vger.kernel.org List-ID: Arend van Spriel writes: > On 3/14/2018 3:24 PM, Kalle Valo wrote: >>> +config BRCMFMAC_IAPP >>> >+ bool "Partial support for obsoleted Inter-Access Point Protocol" >>> >+ depends on BRCMFMAC >>> >+ ---help--- >>> >+ Most of Broadcom's firmwares can send 802.11f ADD frame every >>> >+ time new STA connects to the AP interface. Some recent ones >>> >+ can also disassociate STA when they receive such a frame. >>> >+ >>> >+ It's important to understand this behavior can lead to a local >>> >+ DoS security issue. Attacker may trigger disassociation of any >>> >+ STA by sending a proper Ethernet frame to the wireless >>> >+ interface. >>> >+ >>> >+ Moreover this feature may break AP interfaces in some specific >>> >+ setups. This applies e.g. to the bridge with hairpin mode >>> >+ enabled and IFLA_BRPORT_MCAST_TO_UCAST set. IAPP packet >>> >+ generated by a firmware will get passed back to the wireless >>> >+ interface and cause immediate disassociation of just-connected >>> >+ STA. >> Sorry for jumping late, but does it really make sense to have a Kconfig >> option for this? I don't think we should add a Kconfig option for every >> strange feature, there should be stronger reasons (size savings etc) >> before adding a Kconfig option. >> >> And in this case the size savings can't be much. Wouldn't a module >> parameter be simpler for a functionality change like this? > > Hi Kalle, > > Good to be wary about Kconfig option. I think Linus doesn't like pointless Kconfig options, me neither for that matter, so I try to make sure the justifications are really there before adding anything new. > So my reason for asking a Kconfig option is that this is directly in > the datapaths (tx and rx) so I prefer to disable/enable it compile > time rather then runtime. I'm no cpu profile expert but is really one (or two?) if checks of a cached variable in the datapath really measurable? My guess is that it's just noise in the results. But I'm not going to argue about it, if you think it's still needed I'm fine with that. Just mention in the commit log the justification the new Kconfig option. -- Kalle Valo