Bug 478543
Summary: | per-thread accounting uses uninitialised data | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 4 | Reporter: | Martin Poole <mpoole> |
Component: | kernel | Assignee: | Jerome Marchand <jmarchan> |
Status: | CLOSED WONTFIX | QA Contact: | Martin Jenner <mjenner> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | 4.6 | CC: | onestero, tao, vgoyal |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2010-02-24 14:58:42 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Martin Poole
2008-12-31 18:19:35 UTC
Well, the subject is not right, ->start_time is initialized correctly for any thread. Yes, later kernels use ->group_leader->start_time. But rhel4 can't do this because it does acct_process() per thread, not per process. And this is just wrong. The real fix should first change do_exit() to call acct_process() only if group_dead is true, this change is obviously correct. Unfortunately, this change is very much user visible, it can confuse the current users of bsd accounting. Correcting this would imply a too big change in the userspace interface. |