diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2014-04-08 19:50:17 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2014-04-08 19:50:17 +0000 |
commit | 64f54741e3912a4cd8c57a47c100273ad995931b (patch) | |
tree | e9eb66be132a65811639674ef021e9237952cfc0 /target/linux/brcm47xx/patches-3.10/144-MIPS-BCM47XX-Devices-database-update-for-3.16.patch | |
parent | 4abcae7a1cd1092e8fd3ef5aee4c97108917a4ad (diff) | |
download | upstream-64f54741e3912a4cd8c57a47c100273ad995931b.tar.gz upstream-64f54741e3912a4cd8c57a47c100273ad995931b.tar.bz2 upstream-64f54741e3912a4cd8c57a47c100273ad995931b.zip |
kernel: bgmac: rework patch checking packet length
This bgmac patch was an attempt to fix/workaround bug reported in
https://dev.openwrt.org/ticket/7198 noticed on WNR3500L.
Patch assumed length reported by the hardware was 0 and was trying to
read it until getting a different value. This was actually the opposite.
Lenghts were some invalid & huge values that resulted in skb_over_panic.
For example:
skbuff: skb_over_panic: text:83b21074 len:57222 (...)
skbuff: skb_over_panic: text:87af1024 len:43226 (...)
skbuff: skb_over_panic: text:87af5024 len:8739 (...)
So instead of that not-working patch checking for 0, write a new one
checking for huge values. In case something like that happens, dump
hardware state and drop the packet.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 40424
Diffstat (limited to 'target/linux/brcm47xx/patches-3.10/144-MIPS-BCM47XX-Devices-database-update-for-3.16.patch')
0 files changed, 0 insertions, 0 deletions