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

Bug#357332: initramfs-tools: Doesn't boot from /dev/hdb1 (minor >= 0x10) (patch)



Package: initramfs-tools
Version: 0.55b
Severity: important
Tags: patch

Symptoms:
---------
- System doesn't boot, complaining 
    Target filesystem doesn't have /sbin/init
  (or wherever you init is supposed to be)
- / (the root-fs) is on e.g. /dev/hdb1
  or any other partition where the minor is >= 0x10


Reason:
-------
Bug in parse_numeric() in
    /usr/share/initramfs-tools/scripts/functions
when matching the last option, "*)".

The code in question is:
    minor=$((0x${1#??}))
    major=$((0x${1%??}))
If given 301 (/dev/hda1), the bug doen't manifest, but on 341
(/dev/hdb1) $minor will mistakenly return 1 instead of 65 ---
there's just one '?' too many there.


Probable patch:
---------------

diff -Nur initramfs-tools-0.55b.old/scripts/functions initramfs-tools-0.55b/scripts/functions
--- initramfs-tools-0.55b/scripts/functions	2006-02-20 23:40:01.000000000 +0100
+++ initramfs-tools-0.55b/scripts/functions	2006-03-16 20:00:16.000000000 +0100
@@ -202,7 +202,7 @@
 		major=${1%:*}
 		;;
 	*)
-		minor=$((0x${1#??}))
+		minor=$((0x${1#?}))
 		major=$((0x${1%??}))
 		;;
 	esac




-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (990, 'unstable'), (101, 'testing'), (99, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.4.28-lvm
Locale: LANG=de_DE@euro, LC_CTYPE=de_DE@euro (charmap=ISO-8859-15)

Versions of packages initramfs-tools depends on:
ii  busybox                       1:1.01-4   Tiny utilities for small and embed
ii  cpio                          2.6-11     GNU cpio -- a program to manage ar
ii  klibc-utils                   1.2.4-1    small statically-linked utilities 
ii  udev                          0.087-2    /dev/ and hotplug management daemo

initramfs-tools recommends no packages.

-- no debconf information



Reply to: