• Hans de Goede's avatar
    staging: rtl8188eu: Revert 4 commits breaking ARP · d3e36fd0
    Hans de Goede authored
    commit 66d32fdcbf03851724a8b551d490ae1ddfe6eef2 upstream.
    
    Commit 2ba8444c ("staging:r8188eu: move IV/ICV trimming into
    decrypt() and also place it after rtl88eu_mon_recv_hook()") breaks ARP.
    
    After this commit ssh-ing to a laptop with r8188eu wifi no longer works
    if the machine connecting has never communicated with the laptop before.
    This is 100% reproducable using "arp -d <ipv4> && ssh <ipv4>" to ssh to
    a laptop with r8188eu wifi.
    
    This commit reverts 4 commits in total:
    
    1. Commit 79650ffd ("staging:r8188eu: trim IV/ICV fields in
       validate_recv_data_frame()")
    This commit depends on 2 of the other commits being reverted.
    
    2. Commit 02b19b4c ("staging:r8188eu: inline unprotect_frame() in
       mon_recv_decrypted_recv()")
    The inline code is wrong the un-inlined version contains:
    	if (skb->len < hdr_len + iv_len + icv_len)
    		return;
    	...
    Where as the inline-ed code introduced by this commit does:
    	if (skb->len < hdr_len + iv_len + icv_len) {
    		...
    Note the same check, but now to actually continue doing ... instead
    of to not do it, so this commit is no good.
    
    3. Commit d86e16da ("staging:r8188eu: use different mon_recv_decrypted()
       inside rtl88eu_mon_recv_hook() and rtl88eu_mon_xmit_hook().")
    This commit introduced a 1:1 copy of a function so that one of the
    2 copies can be modified in the 2 commits we're already reverting.
    
    4. Commit 2ba8444c ("staging:r8188eu: move IV/ICV trimming into
       decrypt() and also place it after rtl88eu_mon_recv_hook()")
    This is the commit actually breaking ARP.
    
    Note this commit is a straight-forward squash of the revert of these
    4 commits, without any changes.
    
    Cc: Ivan Safonov <insafonov@gmail.com>
    Signed-off-by: 's avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: 's avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    d3e36fd0
Name
Last commit
Last update
..
android Loading commit data...
board Loading commit data...
ccree Loading commit data...
clocking-wizard Loading commit data...
comedi Loading commit data...
dgnc Loading commit data...
emxx_udc Loading commit data...
fbtft Loading commit data...
fsl-dpaa2 Loading commit data...
fsl-mc Loading commit data...
fwserial Loading commit data...
gdm724x Loading commit data...
goldfish Loading commit data...
greybus Loading commit data...
gs_fpgaboot Loading commit data...
iio Loading commit data...
irda Loading commit data...
ks7010 Loading commit data...
lustre Loading commit data...
media Loading commit data...
most Loading commit data...
mt29f_spinand Loading commit data...
netlogic Loading commit data...
nvec Loading commit data...
octeon Loading commit data...
octeon-usb Loading commit data...
olpc_dcon Loading commit data...
pi433 Loading commit data...
rtl8188eu Loading commit data...
rtl8192e Loading commit data...
rtl8192u Loading commit data...
rtl8712 Loading commit data...
rtl8723bs Loading commit data...
rtlwifi Loading commit data...
rts5208 Loading commit data...
skein Loading commit data...
sm750fb Loading commit data...
speakup Loading commit data...
typec Loading commit data...
unisys Loading commit data...
vboxvideo Loading commit data...
vc04_services Loading commit data...
vme Loading commit data...
vt6655 Loading commit data...
vt6656 Loading commit data...
wilc1000 Loading commit data...
wlan-ng Loading commit data...
xgifb Loading commit data...
Kconfig Loading commit data...
Makefile Loading commit data...