X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=net%2Fsched%2Fact_ipt.c;h=242636950ea5baedf3892cb3f90fb2ecfea00562;hb=56a4342dfe3145cd66f766adccb28fd9b571606d;hp=e13ecbbfe8c48fbcd2c78562e4329f49bc068412;hpb=805c1f4aedaba1bc8d839e7c27b128083dd5c2f0;p=~andy%2Flinux diff --git a/net/sched/act_ipt.c b/net/sched/act_ipt.c index e13ecbbfe8c..242636950ea 100644 --- a/net/sched/act_ipt.c +++ b/net/sched/act_ipt.c @@ -134,10 +134,12 @@ static int tcf_ipt_init(struct net *net, struct nlattr *nla, struct nlattr *est, return PTR_ERR(pc); ret = ACT_P_CREATED; } else { - if (!ovr) { - tcf_ipt_release(to_ipt(pc), bind); + if (bind)/* dont override defaults */ + return 0; + tcf_ipt_release(to_ipt(pc), bind); + + if (!ovr) return -EEXIST; - } } ipt = to_ipt(pc);