netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net 0/7] fix idr leak in actions
@ 2018-03-19  0:06 Davide Caratti
  2018-03-19  0:06 ` [PATCH net 1/7] net/sched: fix idr leak on the error path of tcf_bpf_init() Davide Caratti
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Davide Caratti @ 2018-03-19  0:06 UTC (permalink / raw)
  To: Cong Wang, Jiri Pirko, Jamal Hadi Salim, David S. Miller; +Cc: netdev

This series fixes situations where a temporary failure to install a TC
action results in the permanent impossibility to reuse the configured
'index'.

Thanks to Cong Wang for the initial review.

Davide Caratti (7):
  net/sched: fix idr leak on the error path of tcf_bpf_init()
  net/sched: fix idr leak in the error path of tcf_simp_init()
  net/sched: fix idr leak in the error path of tcf_act_police_init()
  net/sched: fix idr leak in the error path of tcp_pedit_init()
  net/sched: fix idr leak in the error path of __tcf_ipt_init()
  net/sched: fix idr leak in the error path of tcf_vlan_init()
  net/sched: fix idr leak in the error path of tcf_skbmod_init()

 net/sched/act_bpf.c    | 2 +-
 net/sched/act_ipt.c    | 9 ++++++---
 net/sched/act_pedit.c  | 2 +-
 net/sched/act_police.c | 2 +-
 net/sched/act_simple.c | 2 +-
 net/sched/act_skbmod.c | 2 +-
 net/sched/act_vlan.c   | 2 +-
 7 files changed, 12 insertions(+), 9 deletions(-)

-- 
2.14.3

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH net 1/7] net/sched: fix idr leak on the error path of tcf_bpf_init()
  2018-03-19  0:06 [PATCH net 0/7] fix idr leak in actions Davide Caratti
@ 2018-03-19  0:06 ` Davide Caratti
  2018-03-19  0:06 ` [PATCH net 2/7] net/sched: fix idr leak in the error path of tcf_simp_init() Davide Caratti
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Davide Caratti @ 2018-03-19  0:06 UTC (permalink / raw)
  To: Cong Wang, Jiri Pirko, Jamal Hadi Salim, David S. Miller; +Cc: netdev

when the following command sequence is entered

 # tc action add action bpf bytecode '4,40 0 0 12,31 0 1 2048,6 0 0 262144,6 0 0 0' index 100
 RTNETLINK answers: Invalid argument
 We have an error talking to the kernel
 # tc action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel

act_bpf correctly refuses to install the first TC rule, because 31 is not
a valid instruction. However, it refuses to install the second TC rule,
even if the BPF code is correct. Furthermore, it's no more possible to
install any other rule having the same value of 'index' until act_bpf
module is unloaded/inserted again. After the idr has been reserved, call
tcf_idr_release() instead of tcf_idr_cleanup(), to fix this issue.

Fixes: 65a206c01e8e ("net/sched: Change act_api and act_xxx modules to use IDR")
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
---
 net/sched/act_bpf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sched/act_bpf.c b/net/sched/act_bpf.c
index b3f2c15affa7..9d2cabf1dc7e 100644
--- a/net/sched/act_bpf.c
+++ b/net/sched/act_bpf.c
@@ -352,7 +352,7 @@ static int tcf_bpf_init(struct net *net, struct nlattr *nla,
 	return res;
 out:
 	if (res == ACT_P_CREATED)
-		tcf_idr_cleanup(*act, est);
+		tcf_idr_release(*act, bind);
 
 	return ret;
 }
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 2/7] net/sched: fix idr leak in the error path of tcf_simp_init()
  2018-03-19  0:06 [PATCH net 0/7] fix idr leak in actions Davide Caratti
  2018-03-19  0:06 ` [PATCH net 1/7] net/sched: fix idr leak on the error path of tcf_bpf_init() Davide Caratti
@ 2018-03-19  0:06 ` Davide Caratti
  2018-03-19  0:06 ` [PATCH net 3/7] net/sched: fix idr leak in the error path of tcf_act_police_init() Davide Caratti
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Davide Caratti @ 2018-03-19  0:06 UTC (permalink / raw)
  To: Cong Wang, Jiri Pirko, Jamal Hadi Salim, David S. Miller; +Cc: netdev

if the kernel fails to duplicate 'sdata', creation of a new action fails
with -ENOMEM. However, subsequent attempts to install the same action
using the same value of 'index' systematically fail with -ENOSPC, and
that value of 'index' will no more be usable by act_simple, until rmmod /
insmod of act_simple.ko is done:

 # tc actions add action simple sdata hello index 100
 # tc actions list action simple

        action order 0: Simple <hello>
         index 100 ref 1 bind 0
 # tc actions flush action simple
 # tc actions add action simple sdata hello index 100
 RTNETLINK answers: Cannot allocate memory
 We have an error talking to the kernel
 # tc actions flush action simple
 # tc actions add action simple sdata hello index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel
 # tc actions add action simple sdata hello index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel
 ...

Fix this in the error path of tcf_simp_init(), calling tcf_idr_release()
in place of tcf_idr_cleanup().

Fixes: 65a206c01e8e ("net/sched: Change act_api and act_xxx modules to use IDR")
Suggested-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
---
 net/sched/act_simple.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sched/act_simple.c b/net/sched/act_simple.c
index 425eac11f6da..b1f38063ada0 100644
--- a/net/sched/act_simple.c
+++ b/net/sched/act_simple.c
@@ -121,7 +121,7 @@ static int tcf_simp_init(struct net *net, struct nlattr *nla,
 		d = to_defact(*a);
 		ret = alloc_defdata(d, defdata);
 		if (ret < 0) {
-			tcf_idr_cleanup(*a, est);
+			tcf_idr_release(*a, bind);
 			return ret;
 		}
 		d->tcf_action = parm->action;
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 3/7] net/sched: fix idr leak in the error path of tcf_act_police_init()
  2018-03-19  0:06 [PATCH net 0/7] fix idr leak in actions Davide Caratti
  2018-03-19  0:06 ` [PATCH net 1/7] net/sched: fix idr leak on the error path of tcf_bpf_init() Davide Caratti
  2018-03-19  0:06 ` [PATCH net 2/7] net/sched: fix idr leak in the error path of tcf_simp_init() Davide Caratti
@ 2018-03-19  0:06 ` Davide Caratti
  2018-03-19  0:06 ` [PATCH net 4/7] net/sched: fix idr leak in the error path of tcp_pedit_init() Davide Caratti
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Davide Caratti @ 2018-03-19  0:06 UTC (permalink / raw)
  To: Cong Wang, Jiri Pirko, Jamal Hadi Salim, David S. Miller; +Cc: netdev

tcf_act_police_init() can fail after the idr has been successfully
reserved (e.g., qdisc_get_rtab() may return NULL). When this happens,
subsequent attempts to configure a police rule using the same idr value
systematiclly fail with -ENOSPC:

 # tc action add action police rate 1000 burst 1000 drop index 100
 RTNETLINK answers: Cannot allocate memory
 We have an error talking to the kernel
 # tc action add action police rate 1000 burst 1000 drop index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel
 # tc action add action police rate 1000 burst 1000 drop index 100
 RTNETLINK answers: No space left on device
 ...

Fix this in the error path of tcf_act_police_init(), calling
tcf_idr_release() in place of tcf_idr_cleanup().

Fixes: 65a206c01e8e ("net/sched: Change act_api and act_xxx modules to use IDR")
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
---
 net/sched/act_police.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sched/act_police.c b/net/sched/act_police.c
index 95d3c9097b25..faebf82b99f1 100644
--- a/net/sched/act_police.c
+++ b/net/sched/act_police.c
@@ -194,7 +194,7 @@ static int tcf_act_police_init(struct net *net, struct nlattr *nla,
 	qdisc_put_rtab(P_tab);
 	qdisc_put_rtab(R_tab);
 	if (ret == ACT_P_CREATED)
-		tcf_idr_cleanup(*a, est);
+		tcf_idr_release(*a, bind);
 	return err;
 }
 
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 4/7] net/sched: fix idr leak in the error path of tcp_pedit_init()
  2018-03-19  0:06 [PATCH net 0/7] fix idr leak in actions Davide Caratti
                   ` (2 preceding siblings ...)
  2018-03-19  0:06 ` [PATCH net 3/7] net/sched: fix idr leak in the error path of tcf_act_police_init() Davide Caratti
@ 2018-03-19  0:06 ` Davide Caratti
  2018-03-19  0:06 ` [PATCH net 5/7] net/sched: fix idr leak in the error path of __tcf_ipt_init() Davide Caratti
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Davide Caratti @ 2018-03-19  0:06 UTC (permalink / raw)
  To: Cong Wang, Jiri Pirko, Jamal Hadi Salim, David S. Miller; +Cc: netdev

tcf_pedit_init() can fail to allocate 'keys' after the idr has been
successfully reserved. When this happens, subsequent attempts to configure
a pedit rule using the same idr value systematically fail with -ENOSPC:

 # tc action add action pedit munge ip ttl set 63 index 100
 RTNETLINK answers: Cannot allocate memory
 We have an error talking to the kernel
 # tc action add action pedit munge ip ttl set 63 index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel
 # tc action add action pedit munge ip ttl set 63 index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel
 ...

Fix this in the error path of tcf_act_pedit_init(), calling
tcf_idr_release() in place of tcf_idr_cleanup().

Fixes: 65a206c01e8e ("net/sched: Change act_api and act_xxx modules to use IDR")
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
---
 net/sched/act_pedit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sched/act_pedit.c b/net/sched/act_pedit.c
index 349beaffb29e..fef08835f26d 100644
--- a/net/sched/act_pedit.c
+++ b/net/sched/act_pedit.c
@@ -176,7 +176,7 @@ static int tcf_pedit_init(struct net *net, struct nlattr *nla,
 		p = to_pedit(*a);
 		keys = kmalloc(ksize, GFP_KERNEL);
 		if (keys == NULL) {
-			tcf_idr_cleanup(*a, est);
+			tcf_idr_release(*a, bind);
 			kfree(keys_ex);
 			return -ENOMEM;
 		}
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 5/7] net/sched: fix idr leak in the error path of __tcf_ipt_init()
  2018-03-19  0:06 [PATCH net 0/7] fix idr leak in actions Davide Caratti
                   ` (3 preceding siblings ...)
  2018-03-19  0:06 ` [PATCH net 4/7] net/sched: fix idr leak in the error path of tcp_pedit_init() Davide Caratti
@ 2018-03-19  0:06 ` Davide Caratti
  2018-03-19  4:33   ` kbuild test robot
  2018-03-19  0:06 ` [PATCH net 6/7] net/sched: fix idr leak in the error path of tcf_vlan_init() Davide Caratti
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 10+ messages in thread
From: Davide Caratti @ 2018-03-19  0:06 UTC (permalink / raw)
  To: Cong Wang, Jiri Pirko, Jamal Hadi Salim, David S. Miller; +Cc: netdev

__tcf_ipt_init() can fail after the idr has been successfully reserved.
When this happens, subsequent attempts to configure xt/ipt rules using
the same idr value systematically fail with -ENOSPC:

 # tc action add action xt -j LOG --log-prefix test1 index 100
 tablename: mangle hook: NF_IP_POST_ROUTING
         target:  LOG level warning prefix "test1" index 100
 RTNETLINK answers: Cannot allocate memory
 We have an error talking to the kernel
 Command "(null)" is unknown, try "tc actions help".
 # tc action add action xt -j LOG --log-prefix test1 index 100
 tablename: mangle hook: NF_IP_POST_ROUTING
         target:  LOG level warning prefix "test1" index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel
 Command "(null)" is unknown, try "tc actions help".
 # tc action add action xt -j LOG --log-prefix test1 index 100
 tablename: mangle hook: NF_IP_POST_ROUTING
         target:  LOG level warning prefix "test1" index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel
 ...

Fix this in the error path of __tcf_ipt_init(), calling tcf_idr_release()
in place of tcf_idr_cleanup(). Since tcf_ipt_release() can now be called
when tcfi_t is NULL, we also need to protect calls to ipt_destroy_target()
to avoid NULL pointer dereference.

Fixes: 65a206c01e8e ("net/sched: Change act_api and act_xxx modules to use IDR")
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
---
 net/sched/act_ipt.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/net/sched/act_ipt.c b/net/sched/act_ipt.c
index 06e380ae0928..71b618144803 100644
--- a/net/sched/act_ipt.c
+++ b/net/sched/act_ipt.c
@@ -80,9 +80,12 @@ static void ipt_destroy_target(struct xt_entry_target *t)
 static void tcf_ipt_release(struct tc_action *a)
 {
 	struct tcf_ipt *ipt = to_ipt(a);
-	ipt_destroy_target(ipt->tcfi_t);
+
+	if (ipt->tfci_t) {
+		ipt_destroy_target(ipt->tcfi_t);
+		kfree(ipt->tcfi_t);
+	}
 	kfree(ipt->tcfi_tname);
-	kfree(ipt->tcfi_t);
 }
 
 static const struct nla_policy ipt_policy[TCA_IPT_MAX + 1] = {
@@ -187,7 +190,7 @@ static int __tcf_ipt_init(struct net *net, unsigned int id, struct nlattr *nla,
 	kfree(tname);
 err1:
 	if (ret == ACT_P_CREATED)
-		tcf_idr_cleanup(*a, est);
+		tcf_idr_release(*a, bind);
 	return err;
 }
 
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 6/7] net/sched: fix idr leak in the error path of tcf_vlan_init()
  2018-03-19  0:06 [PATCH net 0/7] fix idr leak in actions Davide Caratti
                   ` (4 preceding siblings ...)
  2018-03-19  0:06 ` [PATCH net 5/7] net/sched: fix idr leak in the error path of __tcf_ipt_init() Davide Caratti
@ 2018-03-19  0:06 ` Davide Caratti
  2018-03-19  0:06 ` [PATCH net 7/7] net/sched: fix idr leak in the error path of tcf_skbmod_init() Davide Caratti
  2018-03-19 11:32 ` [PATCH net 0/7] fix idr leak in actions Jamal Hadi Salim
  7 siblings, 0 replies; 10+ messages in thread
From: Davide Caratti @ 2018-03-19  0:06 UTC (permalink / raw)
  To: Cong Wang, Jiri Pirko, Jamal Hadi Salim, David S. Miller; +Cc: netdev

tcf_vlan_init() can fail after the idr has been successfully reserved.
When this happens, every subsequent attempt to configure vlan rules using
the same idr value will systematically fail with -ENOSPC, unless the first
attempt was done using the 'replace' keyword.

 # tc action add action vlan pop index 100
 RTNETLINK answers: Cannot allocate memory
 We have an error talking to the kernel
 # tc action add action vlan pop index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel
 # tc action add action vlan pop index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel
 ...

Fix this in tcf_vlan_init(), ensuring that tcf_idr_release() is called on
the error path when the idr has been reserved, but not yet inserted. Also,
don't test 'ovr' in the error path, to avoid a 'replace' failure implicitly
become a 'delete' that leaks refcount in act_vlan module:

 # rmmod act_vlan; modprobe act_vlan
 # tc action add action vlan push id 5 index 100
 # tc action replace action vlan push id 7 index 100
 RTNETLINK answers: Cannot allocate memory
 We have an error talking to the kernel
 # tc action list action vlan
 #
 # rmmod act_vlan
 # rmmod: ERROR: Module act_vlan is in use

Fixes: 4c5b9d9642c8 ("act_vlan: VLAN action rewrite to use RCU lock/unlock and update")
Fixes: 65a206c01e8e ("net/sched: Change act_api and act_xxx modules to use IDR")

Signed-off-by: Davide Caratti <dcaratti@redhat.com>
---
 net/sched/act_vlan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sched/act_vlan.c b/net/sched/act_vlan.c
index c2914e9a4a6f..c49cb61adedf 100644
--- a/net/sched/act_vlan.c
+++ b/net/sched/act_vlan.c
@@ -195,7 +195,7 @@ static int tcf_vlan_init(struct net *net, struct nlattr *nla,
 	ASSERT_RTNL();
 	p = kzalloc(sizeof(*p), GFP_KERNEL);
 	if (!p) {
-		if (ovr)
+		if (ret == ACT_P_CREATED)
 			tcf_idr_release(*a, bind);
 		return -ENOMEM;
 	}
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH net 7/7] net/sched: fix idr leak in the error path of tcf_skbmod_init()
  2018-03-19  0:06 [PATCH net 0/7] fix idr leak in actions Davide Caratti
                   ` (5 preceding siblings ...)
  2018-03-19  0:06 ` [PATCH net 6/7] net/sched: fix idr leak in the error path of tcf_vlan_init() Davide Caratti
@ 2018-03-19  0:06 ` Davide Caratti
  2018-03-19 11:32 ` [PATCH net 0/7] fix idr leak in actions Jamal Hadi Salim
  7 siblings, 0 replies; 10+ messages in thread
From: Davide Caratti @ 2018-03-19  0:06 UTC (permalink / raw)
  To: Cong Wang, Jiri Pirko, Jamal Hadi Salim, David S. Miller; +Cc: netdev

tcf_skbmod_init() can fail after the idr has been successfully reserved.
When this happens, every subsequent attempt to configure skbmod rules
using the same idr value will systematically fail with -ENOSPC, unless
the first attempt was done using the 'replace' keyword:

 # tc action add action skbmod swap mac index 100
 RTNETLINK answers: Cannot allocate memory
 We have an error talking to the kernel
 # tc action add action skbmod swap mac index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel
 # tc action add action skbmod swap mac index 100
 RTNETLINK answers: No space left on device
 We have an error talking to the kernel
 ...

Fix this in tcf_skbmod_init(), ensuring that tcf_idr_release() is called
on the error path when the idr has been reserved, but not yet inserted.
Also, don't test 'ovr' in the error path, to avoid a 'replace' failure
implicitly become a 'delete' that leaks refcount in act_skbmod module:

 # rmmod act_skbmod; modprobe act_skbmod
 # tc action add action skbmod swap mac index 100
 # tc action add action skbmod swap mac continue index 100
 RTNETLINK answers: File exists
 We have an error talking to the kernel
 # tc action replace action skbmod swap mac continue index 100
 RTNETLINK answers: Cannot allocate memory
 We have an error talking to the kernel
 # tc action list action skbmod
 #
 # rmmod  act_skbmod
 rmmod: ERROR: Module act_skbmod is in use

Fixes: 65a206c01e8e ("net/sched: Change act_api and act_xxx modules to use IDR")
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
---
 net/sched/act_skbmod.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sched/act_skbmod.c b/net/sched/act_skbmod.c
index d09565d6433e..7b0700f52b50 100644
--- a/net/sched/act_skbmod.c
+++ b/net/sched/act_skbmod.c
@@ -152,7 +152,7 @@ static int tcf_skbmod_init(struct net *net, struct nlattr *nla,
 	ASSERT_RTNL();
 	p = kzalloc(sizeof(struct tcf_skbmod_params), GFP_KERNEL);
 	if (unlikely(!p)) {
-		if (ovr)
+		if (ret == ACT_P_CREATED)
 			tcf_idr_release(*a, bind);
 		return -ENOMEM;
 	}
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH net 5/7] net/sched: fix idr leak in the error path of __tcf_ipt_init()
  2018-03-19  0:06 ` [PATCH net 5/7] net/sched: fix idr leak in the error path of __tcf_ipt_init() Davide Caratti
@ 2018-03-19  4:33   ` kbuild test robot
  0 siblings, 0 replies; 10+ messages in thread
From: kbuild test robot @ 2018-03-19  4:33 UTC (permalink / raw)
  To: Davide Caratti
  Cc: kbuild-all, Cong Wang, Jiri Pirko, Jamal Hadi Salim,
	David S. Miller, netdev

[-- Attachment #1: Type: text/plain, Size: 1272 bytes --]

Hi Davide,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on v4.16-rc4]
[also build test ERROR on next-20180316]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Davide-Caratti/fix-idr-leak-in-actions/20180319-110101
config: i386-randconfig-x009-201811 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   net/sched/act_ipt.c: In function 'tcf_ipt_release':
>> net/sched/act_ipt.c:84:11: error: 'struct tcf_ipt' has no member named 'tfci_t'; did you mean 'tcfi_t'?
     if (ipt->tfci_t) {
              ^~~~~~
              tcfi_t

vim +84 net/sched/act_ipt.c

    79	
    80	static void tcf_ipt_release(struct tc_action *a)
    81	{
    82		struct tcf_ipt *ipt = to_ipt(a);
    83	
  > 84		if (ipt->tfci_t) {
    85			ipt_destroy_target(ipt->tcfi_t);
    86			kfree(ipt->tcfi_t);
    87		}
    88		kfree(ipt->tcfi_tname);
    89	}
    90	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 29796 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH net 0/7] fix idr leak in actions
  2018-03-19  0:06 [PATCH net 0/7] fix idr leak in actions Davide Caratti
                   ` (6 preceding siblings ...)
  2018-03-19  0:06 ` [PATCH net 7/7] net/sched: fix idr leak in the error path of tcf_skbmod_init() Davide Caratti
@ 2018-03-19 11:32 ` Jamal Hadi Salim
  7 siblings, 0 replies; 10+ messages in thread
From: Jamal Hadi Salim @ 2018-03-19 11:32 UTC (permalink / raw)
  To: Davide Caratti, Cong Wang, Jiri Pirko, David S. Miller; +Cc: netdev

On 18-03-18 08:06 PM, Davide Caratti wrote:
> This series fixes situations where a temporary failure to install a TC
> action results in the permanent impossibility to reuse the configured
> 'index'.
> 
> Thanks to Cong Wang for the initial review.
>

Yikes ;->
These patches look good.

Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>

Davide, Can you please contribute your tests to tdc?
Those test would have for sure caught that.

cheers,
jamal

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-03-19 11:32 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-19  0:06 [PATCH net 0/7] fix idr leak in actions Davide Caratti
2018-03-19  0:06 ` [PATCH net 1/7] net/sched: fix idr leak on the error path of tcf_bpf_init() Davide Caratti
2018-03-19  0:06 ` [PATCH net 2/7] net/sched: fix idr leak in the error path of tcf_simp_init() Davide Caratti
2018-03-19  0:06 ` [PATCH net 3/7] net/sched: fix idr leak in the error path of tcf_act_police_init() Davide Caratti
2018-03-19  0:06 ` [PATCH net 4/7] net/sched: fix idr leak in the error path of tcp_pedit_init() Davide Caratti
2018-03-19  0:06 ` [PATCH net 5/7] net/sched: fix idr leak in the error path of __tcf_ipt_init() Davide Caratti
2018-03-19  4:33   ` kbuild test robot
2018-03-19  0:06 ` [PATCH net 6/7] net/sched: fix idr leak in the error path of tcf_vlan_init() Davide Caratti
2018-03-19  0:06 ` [PATCH net 7/7] net/sched: fix idr leak in the error path of tcf_skbmod_init() Davide Caratti
2018-03-19 11:32 ` [PATCH net 0/7] fix idr leak in actions Jamal Hadi Salim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).