diff options
author | Xin Long <lucien.xin@gmail.com> | 2017-08-08 15:25:25 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-08-08 20:38:00 -0700 |
commit | ec0acb09313074ba1a4976945791d9c6815f39fb (patch) | |
tree | 6e7f256e005592ad7005aaa4fa4127ace23002be /net/sched/em_meta.c | |
parent | 8e6f1521ec431dbade73f57e21e5dc46eaae50ba (diff) | |
download | blackbird-obmc-linux-ec0acb09313074ba1a4976945791d9c6815f39fb.tar.gz blackbird-obmc-linux-ec0acb09313074ba1a4976945791d9c6815f39fb.zip |
net: sched: set xt_tgchk_param par.net properly in ipt_init_target
Now xt_tgchk_param par in ipt_init_target is a local varibale,
par.net is not initialized there. Later when xt_check_target
calls target's checkentry in which it may access par.net, it
would cause kernel panic.
Jaroslav found this panic when running:
# ip link add TestIface type dummy
# tc qd add dev TestIface ingress handle ffff:
# tc filter add dev TestIface parent ffff: u32 match u32 0 0 \
action xt -j CONNMARK --set-mark 4
This patch is to pass net param into ipt_init_target and set
par.net with it properly in there.
v1->v2:
As Wang Cong pointed, I missed ipt_net_id != xt_net_id, so fix
it by also passing net_id to __tcf_ipt_init.
v2->v3:
Missed the fixes tag, so add it.
Fixes: ecb2421b5ddf ("netfilter: add and use nf_ct_netns_get/put")
Reported-by: Jaroslav Aster <jaster@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/em_meta.c')
0 files changed, 0 insertions, 0 deletions