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. |