Bug 147083
Summary: | sigcontext->FS changes running ia32 on x86_64 (rhel4-rc2) | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 4 | Reporter: | David Simms <david.simms> | ||||
Component: | kernel | Assignee: | Roland McGrath <roland> | ||||
Status: | CLOSED NOTABUG | QA Contact: | Brian Brock <bbrock> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 4.0 | CC: | bjohnson, davej, jbaron, johan.walles, sten.garmark, suresh.b.siddha | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2006-08-21 15:00:23 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: | |||||||
Attachments: |
|
Description
David Simms
2005-02-04 09:41:26 UTC
Created attachment 110640 [details]
repro case
Compile on ia32 and run on x86_64
I see the bug. I'll pursue it upstream. Aside from the contrived test case, I don't know of something concrete (and valid) actually broken by this. So the originally we were out to repro a problem with an invalid FS reg after handling an async signal...this was as close as I could get so far. Was interested in other possible side-effects that may explain some other crashes we've experienced with IA32 code on x86_64. I don't think the bug shown by your test program could be the source of any real-world problem. It only affects selectors that you cannot use without getting a GP fault. The only way a user program could be affected is if it explicitly compares the segment register values rather than trying to use them, like your test program does. The bug turns the selector 0 into 3, but both have the same effect if you use them (to fault). If the %fs value before the signal was a valid segment selector, then I don't see how signal handling would change it (unless of course your handler clobbered that word in the struct sigcontext on the stack). If you think there may be a real problem here, then please try to work up a test case that uses a nonzero %fs value and demonstrates some erroneous behavior. Sorry for the late reply, I agree this isn't "real-world problem" - go ahead and close this. If FS is intialized, all is well. Was thinking this could have been related to another problem with a bad CS register, but upon further inspection, I very much doubt it. |