https://github.com/torvalds/linux
Revision caebd1b389708bf3d0465be829480fc706a68720 authored by Nir Dotan on 03 August 2018, 12:57:44 UTC, committed by David S. Miller on 03 August 2018, 19:28:01 UTC
In previous patch mlxsw_afa_resource_del() was added to avoid a duplicate
resource detruction scenario.
For mirror actions, such duplicate destruction leads to a crash as in:

 # tc qdisc add dev swp49 ingress
 # tc filter add dev swp49 parent ffff: \
   protocol ip chain 100 pref 10 \
   flower skip_sw dst_ip 192.168.101.1 action drop
 # tc filter add dev swp49 parent ffff: \
   protocol ip pref 10 \
   flower skip_sw dst_ip 192.168.101.1 action goto chain 100 \
   action mirred egress mirror dev swp4

Therefore add a call to mlxsw_afa_resource_del() in
mlxsw_afa_mirror_destroy() in order to clear that resource
from rule's resources.

Fixes: d0d13c1858a1 ("mlxsw: spectrum_acl: Add support for mirror action")
Signed-off-by: Nir Dotan <nird@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 7cc6169
History
Tip revision: caebd1b389708bf3d0465be829480fc706a68720 authored by Nir Dotan on 03 August 2018, 12:57:44 UTC
mlxsw: core_acl_flex_actions: Remove redundant mirror resource destruction
Tip revision: caebd1b
File Mode Size
Kconfig -rw-r--r-- 3.2 KB
Makefile -rw-r--r-- 459 bytes
aops.c -rw-r--r-- 52.5 KB
aops.h -rw-r--r-- 3.9 KB
attrib.c -rw-r--r-- 89.6 KB
attrib.h -rw-r--r-- 4.2 KB
bitmap.c -rw-r--r-- 5.4 KB
bitmap.h -rw-r--r-- 3.5 KB
collate.c -rw-r--r-- 3.6 KB
collate.h -rw-r--r-- 1.7 KB
compress.c -rw-r--r-- 28.6 KB
debug.c -rw-r--r-- 4.8 KB
debug.h -rw-r--r-- 2.3 KB
dir.c -rw-r--r-- 51.5 KB
dir.h -rw-r--r-- 1.6 KB
endian.h -rw-r--r-- 2.2 KB
file.c -rw-r--r-- 60.6 KB
index.c -rw-r--r-- 14.8 KB
index.h -rw-r--r-- 5.5 KB
inode.c -rw-r--r-- 96.7 KB
inode.h -rw-r--r-- 11.1 KB
layout.h -rw-r--r-- 97.0 KB
lcnalloc.c -rw-r--r-- 32.4 KB
lcnalloc.h -rw-r--r-- 5.7 KB
logfile.c -rw-r--r-- 28.2 KB
logfile.h -rw-r--r-- 13.5 KB
malloc.h -rw-r--r-- 3.0 KB
mft.c -rw-r--r-- 99.3 KB
mft.h -rw-r--r-- 4.0 KB
mst.c -rw-r--r-- 6.9 KB
namei.c -rw-r--r-- 14.1 KB
ntfs.h -rw-r--r-- 5.0 KB
quota.c -rw-r--r-- 3.6 KB
quota.h -rw-r--r-- 1.2 KB
runlist.c -rw-r--r-- 59.5 KB
runlist.h -rw-r--r-- 3.3 KB
super.c -rw-r--r-- 99.6 KB
sysctl.c -rw-r--r-- 2.3 KB
sysctl.h -rw-r--r-- 1.4 KB
time.h -rw-r--r-- 3.5 KB
types.h -rw-r--r-- 2.0 KB
unistr.c -rw-r--r-- 12.2 KB
upcase.c -rw-r--r-- 3.8 KB
usnjrnl.c -rw-r--r-- 2.7 KB
usnjrnl.h -rw-r--r-- 9.1 KB
volume.h -rw-r--r-- 6.8 KB

back to top