On 15 March 2018 at 08:29, Rafał Miłecki <zajec5@xxxxxxxxx> wrote: > From: Rafał Miłecki <rafal@xxxxxxxxxx> > > Testing brcmfmac with more recent firmwares resulted in AP interfaces > not working in some specific setups. Debugging resulted in discovering > support for IAPP in Broadcom's firmwares. > > Older firmwares were only generating 802.11f frames. Newer ones like: > 1) 10.10 (TOB) (r663589) > 2) 10.10.122.20 (r683106) > for 4366b1 and 4366c0 respectively seem to also /respect/ 802.11f frames > in the Tx path by performing a STA disassociation. > > This obsoleted standard and its implementation is something that: > 1) Most people don't need / want to use > 2) Can allow local DoS attacks > 3) Breaks AP interfaces in some specific bridge setups > > To solve issues it can cause this commit modifies brcmfmac to drop IAPP > packets. If affects: > 1) Rx path: driver won't be sending these unwanted packets up. > 2) Tx path: driver will reject packets that would trigger STA > disassociation perfromed by a firmware (possible local DoS attack). > > It appears there are some Broadcom's clients/users who care about this > feature despite the drawbacks. They can switch it on using a new module > param. > > This change results in only two more comparisons (check for module param > and check for Ethernet packet length) for 99.9% of packets. Its overhead > should be very minimal. > > Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx> > --- I forgot to include the changelog, sorry. V2: Use module param to don't /abuse/ Kconfig Slightly optimize brcmf_skb_is_iapp Move some description from Kconfig to the code Update commit description: specify affected fws & mention impact