Backport patch to abort syscalls in active transactions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Canonical Kernel Team | ||
Trusty |
Fix Released
|
Undecided
|
Tim Gardner | ||
Vivid |
Fix Released
|
Undecided
|
Tim Gardner | ||
Wily |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Yakkety |
Fix Released
|
Medium
|
Canonical Kernel Team |
Bug Description
== Comment: #0 - Tulio Magno Quites Machado Filho - 2016-02-23 12:47:09 ==
---Problem Description---
This is happening on Ubuntu 14.04.3.
User is creating stack structure using C++ transactional memory extension:
int Pop(int)
{
int ret = 0;
{
{
} else
}
return ret;
}
While evaluating if(!stack_
A syscall inside a transaction is forbidden by the kernel, but there is nothing the user can do to avoid this syscall.
This will hang the user application inside the malloc(), which would be waiting for the futex to return.
Ubuntu 14.04 provides glibc 2.19, which is too old to know about HTM.
And this is probably happening with other libraries as well.
Backporting commit b4b56f9e would solve this issue.
---uname output---
Linux 3.13.0-66-generic #108-Ubuntu SMP Wed Oct 7 16:06:09 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux
---Steps to Reproduce---
Start a transaction, make a syscall.
== Comment: #1 - Wei Guo - 2016-02-24 02:33:03 ==
I already verfied that kernel with patch b4b56f9e (on Ubuntu14.04) will work.
== Comment: #2 - Wei Guo - 2016-02-26 04:20:37 ==
Backport patch for commit b4b56f9e is attached. The patch is based on tag Ubuntu-
Tested based on Ubuntu 14.04.4 LTS ( 3.19.0-25-generic).
Related branches
affects: | ubuntu → linux (Ubuntu) |
Changed in linux (Ubuntu): | |
assignee: | Taco Screen team (taco-screen-team) → Canonical Kernel Team (canonical-kernel-team) |
importance: | Undecided → Medium |
status: | New → Triaged |
Changed in linux (Ubuntu Wily): | |
status: | New → Fix Released |
Changed in linux (Ubuntu Xenial): | |
status: | New → Fix Released |
Changed in linux (Ubuntu Yakkety): | |
status: | Triaged → Fix Released |
Changed in linux (Ubuntu Vivid): | |
assignee: | nobody → Tim Gardner (timg-tpi) |
status: | New → In Progress |
Changed in linux (Ubuntu Vivid): | |
status: | In Progress → Fix Committed |
tags: | removed: bugnameltc-137710 severity-medium verification-done-vivid |
Changed in linux (Ubuntu Trusty): | |
status: | In Progress → Fix Committed |
tags: | removed: verification-done-trusty verification-done-vivid |
Default Comment by Bridge