[Devel] [PATCH RHEL7 COMMIT] ve/net/tcp: add missing tcp_orphan_count destruction

Konstantin Khorenko khorenko at virtuozzo.com
Wed Jun 17 03:53:53 PDT 2015


The commit is pushed to "branch-rh7-3.10.0-123.1.2-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-123.1.2.vz7.5.14
------>
commit e20769152bcdfb0d7b952dc4e416083a1618e069
Author: Vladimir Davydov <vdavydov at parallels.com>
Date:   Wed Jun 17 14:53:53 2015 +0400

    ve/net/tcp: add missing tcp_orphan_count destruction
    
      WARNING: at lib/list_debug.c:62 __list_del_entry+0x82/0xd0()
      list_del corruption. next->prev should be ffff8807698f0370, but was ffff880769876ba0
      CPU: 14 PID: 784 Comm: kworker/14:1 ve: 0 Tainted: G          I --------------   3.10.0-123.1.2.vz7.5.13 #1 5.13
      Workqueue: cgroup_destroy cgroup_free_fn
      ffffffff81803c47 000000004c5b148c ffff880769533cb8 ffffffff815c90ba
      ffff880769533cf0 ffffffff8105da61 ffff8807698f0370 ffff8807698f0000
      ffff88075bba4350 ffff88075bba4200 0000000000000380 ffff880769533d58
      Call Trace:
      [<ffffffff815c90ba>] dump_stack+0x19/0x1b
      [<ffffffff8105da61>] warn_slowpath_common+0x61/0x80
      [<ffffffff8105dadc>] warn_slowpath_fmt+0x5c/0x80
      [<ffffffff812a5018>] ? kobject_put+0x28/0x60
      [<ffffffff812bb812>] __list_del_entry+0x82/0xd0
      [<ffffffff812bb86d>] list_del+0xd/0x30
      [<ffffffff812c2d54>] percpu_counter_destroy+0x24/0x50
      [<ffffffff8154b98d>] tcp_destroy_cgroup+0x1d/0x20
      [<ffffffff814ad3b9>] mem_cgroup_sockets_destroy+0x49/0x70
      [<ffffffff811abfc5>] mem_cgroup_css_free+0x35/0x40
      [<ffffffff810e3d46>] cgroup_free_fn+0x46/0x120
      [<ffffffff8107f02b>] process_one_work+0x17b/0x460
      [<ffffffff8107fdfb>] worker_thread+0x11b/0x400
      [<ffffffff8107fce0>] ? rescuer_thread+0x400/0x400
      [<ffffffff81086ddf>] kthread+0xcf/0xe0
      [<ffffffff81086d10>] ? create_kthread+0x60/0x60
      [<ffffffff815d97ac>] ret_from_fork+0x7c/0xb0
      [<ffffffff81086d10>] ? create_kthread+0x60/0x60
    
    https://jira.sw.ru/browse/PSBM-34215
    
    Fixes: e695351ac3ec2 ("tcp: Limit orphan sockets per-cg")
    Signed-off-by: Vladimir Davydov <vdavydov at parallels.com>
---
 net/ipv4/tcp_memcontrol.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/ipv4/tcp_memcontrol.c b/net/ipv4/tcp_memcontrol.c
index 3636f9d..82a3127 100644
--- a/net/ipv4/tcp_memcontrol.c
+++ b/net/ipv4/tcp_memcontrol.c
@@ -136,6 +136,7 @@ void tcp_destroy_cgroup(struct mem_cgroup *memcg)
 
 	tcp = tcp_from_cgproto(cg_proto);
 	percpu_counter_destroy(&tcp->tcp_sockets_allocated);
+	percpu_counter_destroy(&tcp->tcp_orphan_count);
 }
 EXPORT_SYMBOL(tcp_destroy_cgroup);
 



More information about the Devel mailing list