| Summary: | sem_post/sem_wait race causing sem_post to return EINVAL | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Martin Schuppert <mschuppe> | ||||
| Component: | glibc | Assignee: | Carlos O'Donell <codonell> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Arjun Shankar <ashankar> | ||||
| Severity: | high | Docs Contact: | Tomas Capek <tcapek> | ||||
| Priority: | high | ||||||
| Version: | 7.2 | CC: | ashankar, codonell, fweimer, jan.iven, law, ljanyst, mcermak, mnewsome, ohudlick, pep, pfrankli | ||||
| Target Milestone: | rc | Keywords: | Patch | ||||
| Target Release: | 7.2 | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: |
New POSIX semaphore destruction semantics
Previously, the implementation of POSIX semaphores in *glibc* did not follow the current POSIX requirements for semaphores to be self-synchronizing. As a consequence, the *sem_post()* and *sem_wait()* functions could terminate unexpectedly or return the EINVAL error code because they accessed the semaphore
after it has been destroyed. This update provides an implementation of the new POSIX semaphore destruction semantics which keeps track of waiters, avoiding premature destruction of the semaphore. The semaphores implemented by *glibc* are now self-synchronizing, thus fixing this bug.
|
Story Points: | --- | ||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2016-11-03 08:20:53 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Bug Depends On: | |||||||
| Bug Blocks: | 994246, 1023566, 1056252, 1191021, 1203710, 1205796, 1297579, 1313485 | ||||||
| Attachments: |
|
||||||
|
Description
Martin Schuppert
2013-11-06 15:41:55 UTC
Created attachment 820501 [details]
reproducer
Patch posted upstream for review: https://sourceware.org/ml/libc-alpha/2014-05/msg00583.html Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2016-2573.html |