[parisc-linux] Unaligned handler broken (kernel BUG at mm/mmap.c:1991!)

Helge Deller deller at gmx.de
Mon Jun 18 13:31:06 MDT 2007


The following small test case - which is itself wrong - crashes 2.6.22-rc5 (32bit kernel) badly:

#include <stdio.h>
int main()
{
        int *ptr = (int *) 0xffffffff;
        printf("ptr=%x, val=%d\n", ptr, *ptr);
}

dmesg reports:
--------------------
a.out(1750): unaligned access to 0xffffffff at ip=0x000104e3
Unaligned handler failed, ret = -2
a.out (pid 1750): Unaligned data reference (code 28) at 000104e3

     YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00000000000001101111111000001011 Not tainted
r00-03  0006fe0b 40218aa0 40419567 c01d3780
r04-07  405349d4 00000000 00000000 c01d35a4
r08-11  c035000a 00000001 0004b6d8 000119ee
r12-15  00050ed8 00050ed8 0004b6d8 00050ed8
r16-19  c0350818 0004b6d8 0004b6d8 00000000
r20-23  00000000 00000000 000104c4 000119de
r24-27  c01d35ac c01d35a4 00000001 000119b0
r28-31  ffffffff 00000001 c01d37c0 40204277
sr00-03  00000219 00000000 00000000 00000219
sr04-07  00000219 00000219 00000219 00000219

      VZOUICununcqcqcqcqcqcrmunTDVZOUI
FPSR: 00000000000000000000000000000000
FPER1: 00000000
fr00-03  0000000000000000 0000000000000000 0000000000000000 0000000000000000
fr04-07  11b894e88f614600 000000001017ade8 00000000105d2010 0000000000000000
fr08-11  11b3ad3cfffffff4 104d524c00000003 0000000011b894e8 0000000000000002
fr12-15  00000000105d8ed0 105d201010178574 11b4422c10464300 1067d2b8105d2010
fr16-19  105d8e88fffff000 8ff150001017af24 0000000f8ff15000 106794601067ca10
fr20-23  0000000f105a3010 105a30101017aa4c 000012e000000970 00001c507188c177
fr24-27  0000000200000000 0000000000000000 00000000105d8810 105a2b3c3b9aca00
fr28-31  105d8e88fffff000 8ff15000101775f0 0000000000100000 0000000200000000

IASQ: 00000219 00000219 IAOQ: 000104e3 000104e7
 IIR: 0f801093    ISR: 00000219  IOR: ffffffff
 CPU:        0   CR30: 8c128000 CR31: 10628000
 ORIG_R28: 4021bbd8
 IAOQ[0]: 0x104e0
 IAOQ[1]: 0x104e4
 RP(r2): 0x40419564
------------[ cut here ]------------
kernel BUG at mm/mmap.c:1991!

     YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00000000000001100000000000001111 Not tainted
r00-03  0006000f 10268800 10127ff4 8e83bbb8
r04-07  00000000 8e83bbb8 00000001 0000000b
r08-11  8f60e5b4 8f60e3b8 8c128108 000119ee
r12-15  00050ed8 00050ed8 0004b6d8 00050ed8
r16-19  8f60e3b8 0004b6d8 0004b6d8 00000001
r20-23  1067b6a4 8c9da94c 6b6b6b6b 00000000
r24-27  00000000 0000006b 8c9da8f8 10578010
r28-31  00000000 8c9da8f0 8c128380 101775b8
sr00-03  00000000 00000000 00000000 0000021b
sr04-07  00000000 00000000 00000000 00000000

IASQ: 00000000 00000000 IAOQ: 1016a144 1016a148
 IIR: 03ffe01f    ISR: 10240001  IOR: 9ee7b658
 CPU:        0   CR30: 8c128000 CR31: 10628000
 ORIG_R28: 0004b6d8
 IAOQ[0]: exit_mmap+0x130/0x14c
 IAOQ[1]: exit_mmap+0x134/0x14c
 RP(r2): mmput+0x68/0x108
Backtrace:
 [<101073f0>] die_if_kernel+0x130/0x198
 [<10107544>] handle_break+0x88/0xec
 [<10107dcc>] handle_interruption+0x570/0x58c
 [<1010b078>] intr_check_sig+0x0/0x34

Fixing recursive fault but reboot is needed!



More information about the parisc-linux mailing list