On Wed, 18 Jun 2008, Linus Torvalds wrote:The oops code is odd: 27: 8d 4c 18 fe lea 0xfffffffe(%eax,%ebx,1),%ecx 2b:* 8b 19 mov (%ecx),%ebx <-- trapping instruction 2d: 83 e9 08 sub $0x8,%ecx 30: 89 d8 mov %ebx,%eax 32: 66 d1 e8 shr %ax 35: 0f b7 c0 movzwl %ax,%eax and that "lea" is doing an address computation of "eax+2*ebx-2". Which does *not* look like an address to a 32-bit entity, but to a 16-bit one. Yeah, it's not conclusive, but it is suggestive. And the 16-bit "shr+movzwl" further strengthens the case that it is actually working on a 16-bit entity. The trapping instruction _should_ possibly have been a "movzwl (%ecx),%ebx" to begin with. But it did a 32-bit load, and in this case it looks as if the 16-bit load would have been correct! The value of ECX in this example was ECX: dc384ffe ie it was indeed a two-byte aligned thing at the end of the page, and if the load had been a 16-bit load (like the data seems to be), it would never have oopsed! The page fault seems to be due to DEBUG_PAGEALLOC and the next page being unmapped because it's not allocated. I only looked closer at one particular oops (25906, in case anybody cares), but at least judging from that particular one I would indeed suspect a compiler bug. Of course, the main reason I say that is that none of the ext3 or VFS changes look even _remotely_ relevant to any of this. They really don't look like they could possibly matter for "do_split()" unless there is something really odd going on. Linus --
| Linus Torvalds | Linux 2.6.26-rc4 |
| Antonino Ingargiola | [SOLVED] Serial buffer corruption [was Re: FTDI usb-serial possible bug] |
| Jan Engelhardt | Re: LSM conversion to static interface |
| Peter Teoh | Re: Slow DOWN, please!!! |
| Jacob Yocom-Piatt | Re: Real men don't attack straw men |
| Florin Andrei | firewall is very slow, something's wrong |
| Karel Kulhavy | OpenBSD kernel janitors |
| Joerg Zinke | openbsd router hardware |
git: | |
| Theodore Ts'o | How do get a specific version of a particular file? |
| Linus Torvalds | Re: git versus CVS (versus bk) |
| Ken Pratt | pack operation is thrashing my server |
| Giuseppe Bilotta | git-svn tags and branches |
| David Miller | [GIT]: Networking |
| Wang Jian | drivers/net/phy/marvell.c: 88e1111 can't get out sleep mode |
| Wei Yongjun | Re: [PATCH] DCCP: Fix to reset the connection with Reset Code 5 Option Error while... |
| Auke Kok | [PATCH] e1000e: test MSI interrupts |
