Bug 1734791
| Summary: | glibc: Repeating pututxline() on EINTR/EAGAIN causes stale utmp entries | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Ondřej Lysoněk <olysonek> | ||||||
| Component: | glibc | Assignee: | glibc team <glibc-bugzilla> | ||||||
| Status: | CLOSED WONTFIX | QA Contact: | qe-baseos-tools-bugs | ||||||
| Severity: | medium | Docs Contact: | |||||||
| Priority: | medium | ||||||||
| Version: | 7.7 | CC: | ashankar, codonell, dj, fweimer, mnewsome, pfrankli, thozza | ||||||
| Target Milestone: | rc | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | |||||||||
| : | 1749439 (view as bug list) | Environment: | |||||||
| Last Closed: | 2020-01-27 15:02:22 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: | |||||||
| Embargoed: | |||||||||
| Bug Depends On: | |||||||||
| Bug Blocks: | 1737433 | ||||||||
| Attachments: |
|
||||||||
|
Description
Ondřej Lysoněk
2019-07-31 12:53:23 UTC
Created attachment 1595074 [details]
proof-of-concept patch
We need to change our approach to locking anyway, due to this security bug: https://sourceware.org/bugzilla/show_bug.cgi?id=24492 I do not know if it is worthwhile to fix the EINTR/EAGAIN issue separately. (In reply to Florian Weimer from comment #5) > We need to change our approach to locking anyway, due to this security bug: > > https://sourceware.org/bugzilla/show_bug.cgi?id=24492 > > I do not know if it is worthwhile to fix the EINTR/EAGAIN issue separately. OK. There was another suggestion I had for improving pututxline(). Currently, when pututxline() writes to the utmp file, it locks the whole file for writing. I don't see a reason it should do that; I think locking only the portion of the file where the write will occur should suffice. Locking only a portion of the file could reduce contention and improve performance. I was going to file a bug for this. Should I still do that, given that you'll be reworking pututxline() anyway? New patch submitted upstream: https://sourceware.org/ml/libc-alpha/2019-08/msg00562.html Thanks, looks good to me. I'm happy to test it if you prepare a test build. This issue is fixed upstream, and in RHEL8. Given the current priority for fixing this in RHEL 7 the glibc team has decided that we will not fix this, therefore I'm closing this CLOSED / WONTFIX. If we have another customer request to fix this issue we may reconsider fixing the bug in later releases. |