Re: loop-AES 1.4d crypto swap => __alloc_pages: 0-order allocation failed (gfp=0x20/0) from c882256e

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2001-09-25, "peter k." <spam-goes-to-dev-null@xxxxxxx> wrote:

> yesterday i configured my box to use swap over loop-AES....
> if i cat /dev/zero > blah now on another loop-AES encrypted device (not
> on the swap device of course) "__alloc_pages: 0-order allocation failed
> (gfp=0x20/0) from c882256e" starts and keeps appearing when the kernel
> wants to start swapping until it panics within the process of the loop
> device i was cat'ing to....i guess this error is caused by loop-AES

Funny, I was just about to post about something similar...

I've found that I cannot use the latest loop-AES on 2.4.9 (at least) with a
partition-backed loop device larger than 2 GB.  The stock loop driver in
2.4.9 works fine with large (dozens of GBs) loop devices, but the loop-AES
driver causes kernel panics.  Using loop-AES, losetup'ing (with or without
encryption) a 10-20 GB partition and then trying to mke2fs /dev/loop0 will
result in a panic.  A 2 GB partition is rock solid.  A 2.2 GB partition
will successfully mkfs and mount, but then trying to dd if=/dev/zero
of=/mnt/testfile will cause a panic once the file passes the 2 GB mark.

The one log entry that manages to be syslogged is:

Sep 25 11:49:14 rover kernel: __alloc_pages: 0-order allocation failed. 

Here's an oops hand-copied and run through ksymoops (and unfortunately
line-wrapped a bit):

unable to handle kernel paging request at virtual address fffffffc
*pde = 00001063
EIP:    0010:[<c01103c3>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010017
eax: c0435948   ebx: 00000000   ecx: 00000001   edx: c043594c
esi: c0435948   edi: fffffff8   ebp: c96fbdac   esp: c96fbd90
ds: 0018   es: 0018   ss: 0018
Process loop0 (pid: 145, stackpage=c96fb000)
Stack: c0435900 c0435948 00000002 c043594c 00000001 00000086 00000003 \
								00000001
       c012d7bb cb3f28c0 c96d9000 d091a3b7 c0435900 00000001 cb3f28c0 \
								c14694e0
       c0187a7d cb3f28c0 00000001 c14694e0 00000002 c146a060 c02c5460 \
								c019329a
Call Trace: [<c012d7bb>] [<d091a3b7>] [<c0187a7d>] [<c019329a>] \
							[<c0197948>]
   [<c0194af7>] [<c01978e0>] [<c0107cef>] [<c0107e4e>] [<c0106b94>] \
							[<d091cc06>]
   [<d091bee8>] [<d091ad62>] [<c0105454>]
Code: 8b 4f 04 8b 1b 8b 01 85 45 fc 74 51 31 c0 9c 5e fa c7 01 00

>>EIP; c01103c2 <__wake_up+32/a8>   <=====
Trace; c012d7ba <end_buffer_io_sync+3e/48>
Trace; d091a3b6 <[loop]loop_end_io_transfer_wr+2a/5c>
Trace; c0187a7c <end_that_request_first+60/bc>
Trace; c019329a <ide_end_request+5a/90>
Trace; c0197948 <ide_dma_intr+68/a8>
Trace; c0194af6 <ide_intr+fa/150>
Trace; c01978e0 <ide_dma_intr+0/a8>
Trace; c0107cee <handle_IRQ_event+2e/58>
Trace; c0107e4e <do_IRQ+6e/b0>
Trace; c0106b94 <ret_from_intr+0/6>
Trace; d091cc06 <[loop]aes_encrypt+836/ff0>
Trace; d091bee8 <[loop]transfer_aes+1f8/250>
Trace; d091ad62 <[loop]loop_thread+2da/438>
Trace; c0105454 <kernel_thread+28/38>
Code;  c01103c2 <__wake_up+32/a8>
0000000000000000 <_EIP>:
Code;  c01103c2 <__wake_up+32/a8>   <=====
   0:   8b 4f 04                  mov    0x4(%edi),%ecx   <=====
Code;  c01103c4 <__wake_up+34/a8>
   3:   8b 1b                     mov    (%ebx),%ebx
Code;  c01103c6 <__wake_up+36/a8>
   5:   8b 01                     mov    (%ecx),%eax
Code;  c01103c8 <__wake_up+38/a8>
   7:   85 45 fc                  test   %eax,0xfffffffc(%ebp)
Code;  c01103cc <__wake_up+3c/a8>
   a:   74 51                     je     5d <_EIP+0x5d> c011041e \
						<__wake_up+8e/a8>
Code;  c01103ce <__wake_up+3e/a8>
   c:   31 c0                     xor    %eax,%eax
Code;  c01103d0 <__wake_up+40/a8>
   e:   9c                        pushf  
Code;  c01103d0 <__wake_up+40/a8>
   f:   5e                        pop    %esi
Code;  c01103d2 <__wake_up+42/a8>
  10:   fa                        cli    
Code;  c01103d2 <__wake_up+42/a8>
  11:   c7 01 00 00 00 00         movl   $0x0,(%ecx)

This is a laptop running 2.4.9 stock, ne2000-clone pcmcia NIC, no APM or
other stuff enabled, plus loop-AES-v1.4d and patched util-linux 2.11i. 
I'll test 2.2.19 as soon as I can, but since the stock loop.c driver in 2.4
doesn't cause this, I expect results to be the same :(

--
Hank Leininger <hlein@xxxxxxxxxxxxxxxxxxxx>

Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/


[Index of Archives]     [Kernel]     [Linux Crypto]     [Gnu Crypto]     [Gnu Classpath]     [Netfilter]     [Bugtraq]
  Powered by Linux