Public bug reported: [ SRU Justification ] A long thread on debian-devel[1] has pointed out that hardware lock elision behaves differently (arguably, more correctly) in the face of incorrect pthread usage, especially where double-unlocks are concerned. While this isn't itself a bug, it's quite true that we have no way of knowing right now just how many third party sources are buggy, and as people are upgrading to hardware that supports this feature, more software may crash in the future.
The long-term goal should be to try to ferret out all the bad actors here, fix them, and re-enable hardware lock elision as the default, but the sane conservative choice seems to be to just disable the feature entirely for now, while we (the glibc upstream community) work on making lock elision a per-process opt-in. [1] https://lists.debian.org/debian-devel/2016/11/msg00210.html [ Proposed Fix ] This SRU will disable lock elision entirely, thus avoiding the problematic codepaths. A future SRU will re-enable building those codepaths, but in such a way that they're disabled by default with a per-process environment twiddle to enable it on demand. [ Regression Potential ] There's a potential for performance regressions, however given that most x86 users are only just now upgrading to hardware that supports this feature, the status quo is that this codepath is dead to most users. As for s390x and PPC, we've had requests to disable lock elision by default on both arches (entirely on s390x, conditionally on PPC), and those requests will be somewhat satisfied by this SRU, and cleaned up in the future SRU where we integrate the upstream-concensus patch to allow it to be conditionally re-enabled. [ Testing ] autopkgtest regressions will be our guide here on if this SRU is causing any issues. ** Affects: glibc (Ubuntu) Importance: Undecided Assignee: Adam Conrad (adconrad) Status: New ** Affects: glibc (Ubuntu Xenial) Importance: Undecided Assignee: Adam Conrad (adconrad) Status: New ** Affects: glibc (Ubuntu Yakkety) Importance: Undecided Assignee: Adam Conrad (adconrad) Status: New ** Also affects: glibc (Ubuntu Xenial) Importance: Undecided Status: New ** Also affects: glibc (Ubuntu Yakkety) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1642390 Title: Disable lock-elision in glibc pending upstream changes To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1642390/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
