nf_conntrack releases a conntrack with non-zero refcnt
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Fix Released
|
Medium
|
Chris J Arges |
Bug Description
[Impact]
Occasionally starting new containers or creating new net namespaces may soft lockup because of improper refcounting of conntrack entires.
In the issue that I face, I can find a kworker thread using up an entire core, and when I cat /proc/$pid/stack I see this:
<ffffffffbe01e9b6>] ___preempt_
[<ffffffffc0222
[<ffffffffc0223
[nf_conntrack]
[<ffffffffc0224
[<ffffffffbe604
[<ffffffffbe604
[<ffffffffbe084
[<ffffffffbe085
[<ffffffffbe08b
[<ffffffffbe717
[<fffffffffffff
The kworker is looping forever and failing to clean up conntrack state.
All the while, it holds the global netns lock. Given that I've bisected
to commit e53376bef2cd97d
[Test Case]
bug 1403152 has a testcase which can occasionally hit this issue
[Fix]
$ git describe --contains e53376bef2cd97d
v3.14-rc3~
CVE References
Changed in linux (Ubuntu Trusty): | |
assignee: | nobody → Chris J Arges (arges) |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in linux (Ubuntu): | |
assignee: | Chris J Arges (arges) → nobody |
status: | In Progress → Fix Released |
importance: | Medium → Undecided |
description: | updated |
description: | updated |
Changed in linux (Ubuntu Trusty): | |
status: | In Progress → Fix Committed |
SRU Patch sent to Ubuntu kernel-team ML.