lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Tue, 7 Jul 2009 20:43:44 -0700 (PDT)
From:	Zibeli Aton <zibeli@...oo.com>
To:	linux-kernel@...r.kernel.org
Subject: PROBLEM: 2.6.30 and later kernel no longer boots using encrypted filesystem setup


I've done a lot of searching and can't figure out what might be going on here, so wondering if anyone here can suggest any possible causes.  Please cc: me with any responses if at all possible.

I'll attempt to follow the suggest format from http://kernel.org/pub/linux/docs/lkml/reporting-bugs.html.

[1.] 2.6.30 and later kernel no longer boots using encrypted root filesystem setup

[2.] Neither the 2.6.30 and 2.6.30.1 kernels will boot under my encrypted root filesystem setup on an x86 box, though the 2.6.29.x kernels still boot fine and the newer kernels boot fine if I do not use the encrypted filesystem setup.

When I attempt to boot the 2.6.30.x kernels (via grub), the boot fails immediately, apparently in decompressing the kernel, giving the message "Destination address too large", which from grepping the kernel source tree, apparently comes from arch/x86/boot/compressed/misc.c

My encrypted filesystem works by first booting from a very small (ca 30 MB), unencrypted, ext2 partition on sda1.  This partition is passed to the kernel as the root partition by grub.  This small partition contains only the kernel image plus a few binaries needed to run an init script that mounts the encrypted partition (sda2) via losetup and dmsetup, then pivots_root to it.  However, since the 2.6.30.x kernels apparently never even decompress themselves, the process never gets this far.

I can boot the same kernel successfully on the same machine by booting it from another, larger partition (sda4) which, if relevant, is an ext3 partition.  I can also still boot the original encrypted system by using the 2.6.29.4 kernel with the exact same parameters and configuration as the 2.6.30.x kernels that fail.

The only differences I see that seem relevant so early in the boot process is that the initial root filesystem (on sda1) for the encrypted boot setup is ext2 instead of the ext3 on the larger partition that boots successfully and that the size of the sda1 partition is much, much smaller.

[3.] KEYWORDS: x86 boot decompression "Destination address too large"

[4.] KERNEL VERSION: Linux version 2.6.30.1-20090704 (me@...s) (gcc version 4.4.0 (GCC) ) #1 SMP

[5.] MESSAGES SEEN ON FAILED BOOT:

  Booting command-list
root (hd0,0)
  Filesystem type is ext2fs, partition type 0x83
kernel /boot/bzImage-2.6.30.1-20090704 ro root=/dev/sda1
  [Linux-bzImage, setup=0x2c00, size=0x26e0a0]

Destination address too large

 -- System halted

[6.] n/a

[7.] Environment

[7.1] ver_linux script output (after booting from larger partition):
Linux elfs 2.6.30.1-20090706 #1 SMP Mon Jul 6 18:47:42 CST 2009 i686 pentium3 i386 GNU/Linux
 
Gnu C                  4.4.0
Gnu make               3.81
binutils               2.19.1
util-linux             ./ver_linux: line 23: fdformat: command not found
mount                  support
module-init-tools      found
Linux C Library        2.10.1
Dynamic linker (ldd)   2.10.1
Linux C++ Library      6.0.11
Procps                 3.2.8
Kbd                    1.15
Sh-utils               7.4
Modules Loaded         snd_hda_codec_idt nvidia snd_hda_intel snd_hda_codec snd_hwdep


[7.2.]  cat /proc/cpuinfo output:
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Duo CPU     P7450  @ 2.13GHz
stepping        : 6
cpu MHz         : 2127.937
cache size      : 3072 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm
bogomips        : 4255.87
clflush size    : 64
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Duo CPU     P7450  @ 2.13GHz
stepping        : 6
cpu MHz         : 2127.937
cache size      : 3072 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
apicid          : 1
initial apicid  : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 10
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm
bogomips        : 4255.91
clflush size    : 64
power management:



[7.3.] n/a as modules never loaded

[7.4.] cat /proc/ioports output (on 2.6.30.1 kernel from larger ext3 partition):
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0077 : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
03c0-03df : vesafb
0400-047f : pnp 00:01
  0400-0403 : ACPI PM1a_EVT_BLK
  0404-0405 : ACPI PM1a_CNT_BLK
  0408-040b : ACPI PM_TMR
  0410-0415 : ACPI CPU throttle
  0420-042f : ACPI GPE0_BLK
  0450-0450 : ACPI PM2_CNT_BLK
0500-053f : pnp 00:01
0600-060f : pnp 00:01
0610-0610 : pnp 00:01
0800-080f : pnp 00:01
0810-0817 : pnp 00:01
0820-0823 : pnp 00:01
0cf8-0cff : PCI conf1
1000-1fff : PCI Bus 0000:06
2000-2fff : PCI Bus 0000:05
3000-3fff : PCI Bus 0000:04
  3000-30ff : 0000:04:00.0
    3000-30ff : r8169
4000-4fff : PCI Bus 0000:03
5000-5fff : PCI Bus 0000:02
6000-6fff : PCI Bus 0000:01
  6000-607f : 0000:01:00.0
7000-701f : 0000:00:1f.3
  7000-701f : i801_smbus
7020-703f : 0000:00:1f.2
  7020-703f : ahci
7040-705f : 0000:00:1d.2
  7040-705f : uhci_hcd
7060-707f : 0000:00:1d.1
  7060-707f : uhci_hcd
7080-709f : 0000:00:1d.0
  7080-709f : uhci_hcd
70a0-70bf : 0000:00:1a.1
  70a0-70bf : uhci_hcd
70c0-70df : 0000:00:1a.0
  70c0-70df : uhci_hcd
70e0-70e7 : 0000:00:1f.2
  70e0-70e7 : ahci
70e8-70ef : 0000:00:1f.2
  70e8-70ef : ahci
70f0-70f3 : 0000:00:1f.2
  70f0-70f3 : ahci
70f4-70f7 : 0000:00:1f.2
  70f4-70f7 : ahci

cat /proc/iomem output (on 2.6.30.1 kernel from larger ext3 partition):
00000000-0009dfff : System RAM
0009e000-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000ce5ff : Video ROM
000e0000-000fffff : reserved
  000f0000-000fffff : System ROM
00100000-7fc6afff : System RAM
  00100000-004855d8 : Kernel code
  004855d9-005e8413 : Kernel data
  0063a000-0068fbf3 : Kernel bss
7fc6b000-7fcbefff : reserved
7fcbf000-7fd82fff : System RAM
7fd83000-7fdbefff : ACPI Non-volatile Storage
7fdbf000-7fddefff : System RAM
7fddf000-7fdf6fff : ACPI Tables
7fdf7000-7fdfffff : System RAM
7fe00000-7fffffff : reserved
80000000-8fffffff : PCI Bus 0000:01
  80000000-8fffffff : 0000:01:00.0
90000000-92ffffff : PCI Bus 0000:01
  90000000-91ffffff : 0000:01:00.0
    91000000-91dfffff : vesafb
  92000000-92ffffff : 0000:01:00.0
    92000000-92ffffff : nvidia
93000000-93ffffff : PCI Bus 0000:02
94000000-94ffffff : PCI Bus 0000:03
95000000-95ffffff : PCI Bus 0000:04
  95000000-9500ffff : 0000:04:00.0
    95000000-9500ffff : r8169
  95010000-95010fff : 0000:04:00.0
    95010000-95010fff : r8169
  95020000-9502ffff : 0000:04:00.0
96000000-96ffffff : PCI Bus 0000:05
97000000-97ffffff : PCI Bus 0000:06
98000000-98ffffff : PCI Bus 0000:06
99000000-99ffffff : PCI Bus 0000:05
  99000000-990000ff : 0000:05:00.4
  99000100-990001ff : 0000:05:00.3
  99000200-990002ff : 0000:05:00.2
  99000300-990003ff : 0000:05:00.0
    99000300-990003ff : mmc0
9a000000-9affffff : PCI Bus 0000:04
9b000000-9bffffff : PCI Bus 0000:03
  9b000000-9b001fff : 0000:03:00.0
    9b000000-9b001fff : iwlagn
9c000000-9cffffff : PCI Bus 0000:02
9d000000-9d003fff : 0000:00:1b.0
  9d000000-9d003fff : ICH HD audio
9d004000-9d0047ff : 0000:00:1f.2
  9d004000-9d0047ff : ahci
9d004800-9d004bff : 0000:00:1d.7
  9d004800-9d004bff : ehci_hcd
9d004c00-9d004fff : 0000:00:1a.7
  9d004c00-9d004fff : ehci_hcd
9d005000-9d0050ff : 0000:00:1f.3
f8000000-fbffffff : PCI MMCONFIG 0 [00-3f]
  f8000000-fbffffff : reserved
    f8000000-fbffffff : pnp 00:01
fec00000-fec00fff : IOAPIC 0
  fec00000-fec00fff : reserved
    fec00000-fec00fff : pnp 00:01
fed00000-fed003ff : HPET 0
fed10000-fed13fff : reserved
  fed10000-fed13fff : pnp 00:01
fed18000-fed19fff : reserved
  fed18000-fed18fff : pnp 00:01
  fed19000-fed19fff : pnp 00:01
fed1c000-fed1ffff : reserved
  fed1c000-fed1ffff : pnp 00:01
fed20000-fed8ffff : pnp 00:01
fee00000-fee00fff : Local APIC
  fee00000-fee00fff : reserved
    fee00000-fee00fff : pnp 00:01
fff00000-ffffffff : reserved

[7.5.] PCI information 
  lspci not installed - can install if deemed relevant

[7.6.] SCSI information (from /proc/scsi/scsi)
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: FUJITSU MHZ2320B Rev: 8909
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: HL-DT-ST Model: DVDRAM GSA-T50N  Rev: RC04
  Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi6 Channel: 00 Id: 00 Lun: 00
  Vendor: Generic  Model: USB Flash Disk   Rev: 0.00
  Type:   Direct-Access                    ANSI  SCSI revision: 02


      
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ