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-- 1.4 KB
Makefile -rw-r--r-- 343 bytes
acl.c -rw-r--r-- 3.3 KB
acl.h -rw-r--r-- 743 bytes
aops.c -rw-r--r-- 31.7 KB
bmap.c -rw-r--r-- 57.3 KB
bmap.h -rw-r--r-- 2.2 KB
dentry.c -rw-r--r-- 2.7 KB
dir.c -rw-r--r-- 52.0 KB
dir.h -rw-r--r-- 2.6 KB
export.c -rw-r--r-- 4.7 KB
file.c -rw-r--r-- 29.4 KB
gfs2.h -rw-r--r-- 524 bytes
glock.c -rw-r--r-- 54.4 KB
glock.h -rw-r--r-- 8.9 KB
glops.c -rw-r--r-- 16.4 KB
glops.h -rw-r--r-- 1.1 KB
incore.h -rw-r--r-- 22.8 KB
inode.c -rw-r--r-- 49.0 KB
inode.h -rw-r--r-- 4.3 KB
lock_dlm.c -rw-r--r-- 38.7 KB
log.c -rw-r--r-- 27.7 KB
log.h -rw-r--r-- 2.4 KB
lops.c -rw-r--r-- 21.3 KB
lops.h -rw-r--r-- 3.0 KB
main.c -rw-r--r-- 6.0 KB
meta_io.c -rw-r--r-- 10.7 KB
meta_io.h -rw-r--r-- 2.6 KB
ops_fstype.c -rw-r--r-- 34.7 KB
quota.c -rw-r--r-- 42.5 KB
quota.h -rw-r--r-- 2.2 KB
recovery.c -rw-r--r-- 13.2 KB
recovery.h -rw-r--r-- 1.2 KB
rgrp.c -rw-r--r-- 69.2 KB
rgrp.h -rw-r--r-- 3.5 KB
super.c -rw-r--r-- 42.4 KB
super.h -rw-r--r-- 1.9 KB
sys.c -rw-r--r-- 17.5 KB
sys.h -rw-r--r-- 659 bytes
trace_gfs2.h -rw-r--r-- 17.5 KB
trans.c -rw-r--r-- 7.2 KB
trans.h -rw-r--r-- 1.5 KB
util.c -rw-r--r-- 7.4 KB
util.h -rw-r--r-- 5.0 KB
xattr.c -rw-r--r-- 32.2 KB
xattr.h -rw-r--r-- 2.0 KB

back to top