]> asedeno.scripts.mit.edu Git - linux.git/commit
net: sched: copy tunnel info when setting flow_action entry->tunnel
authorVlad Buslov <vladbu@mellanox.com>
Mon, 26 Aug 2019 13:45:05 +0000 (16:45 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 26 Aug 2019 21:17:43 +0000 (14:17 -0700)
commit1444c175a37443d3f6d3db825df050741452c3c3
treed10f8fff01a65b1113b440b0e174458c16d87d75
parent5a6ff4b13d598573fc954f672cd2a267b76a01ec
net: sched: copy tunnel info when setting flow_action entry->tunnel

In order to remove dependency on rtnl lock, modify tc_setup_flow_action()
to copy tunnel info, instead of just saving pointer to tunnel_key action
tunnel info. This is necessary to prevent concurrent action overwrite from
releasing tunnel info while it is being used by rtnl-unlocked driver.

Implement helper tcf_tunnel_info_copy() that is used to copy tunnel info
with all its options to dynamically allocated memory block. Modify
tc_cleanup_flow_action() to free dynamically allocated tunnel info.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tc_act/tc_tunnel_key.h
net/sched/cls_api.c