Summary: | readKernelMapping overruns 'map' table. | ||||||
---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | David Woodhouse <dwmw2> | ||||
Component: | Input/Keyboard | Assignee: | Xorg Project Team <xorg-team> | ||||
Status: | RESOLVED FIXED | QA Contact: | |||||
Severity: | critical | ||||||
Priority: | high | CC: | benh, kem, ua_bugzilla_freedesktop | ||||
Version: | 7.0.0 | ||||||
Hardware: | All | ||||||
OS: | Linux (All) | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 5387 | ||||||
Attachments: |
|
Description
David Woodhouse
2006-04-03 02:22:30 UTC
Oh, the 'map' array isn't actually global -- it's just declared static in the header file. That's, erm, interesting :) Created attachment 5169 [details] [review] Potential fix. kem claimed he had a better fix, iirc. *** Bug 6533 has been marked as a duplicate of this bug. *** Is kem going to share his fix with us? I spent weeks on the track of this bug with gdb and several other things. (bug 6533) My symptons were a bit different: if Xorg was compiled with anything above -O0 and gcc >=4.1.x, starting with the second VT switch, the screen stayed black (or the system just hanged when switched back from the VT with the native nvidia driver). After I finally narrowed it down to readKernelMapping, this bug here popped up. :-) To make a long story short: I consider this a major bug as memory is getting corrupted which naturally causes undesired and unforeseeable effects. Having an official fix for this would be rather important, so distributions could incorporate it into their packages until a new release is out. Just saw benh's question in irc -- didn't know that people were waiting on my fix. My fix just rewrote a bit of the code to make it clearer what is going on here and get rid of the map+GLYPHS_PER_KEY hack -- i.e., it's nothing special. Unfortunately, it was lost when my laptop hard drive failed earlier this week. It shouldn't be too hard to recreate, but I won't have time to do that until I return from my trip next week. For 7.1, I think David's fix is fine and should go in. I commited the fix to HEAD. I'll let Ajax decide if it should also go to some branch (In reply to comment #8) > I commited the fix to HEAD. I'll let Ajax decide if it should also go to some branch It does; applied to 1.1 branch. Probably should go in 1.0 branch too, if we ever do another 1.0.x; moving to appropriate tracker. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.