Package: e2fsprogs
Version: 1.39-1
Severity: important

Hi,

you set the compiler option -fsigned-char, but on PowerPC the default is
unsigned char. This makes the kernel uses unsigned and e2fsck uses signed
chars.

In the case of an 8 bit character, str2hashbuf() in lib/ext2fs/dirhash.c
produces a different buf than the kernel, which leads to the problem that
the hash calculated by TEA_transform() is a different one.

If the hash is different enough from the hash calculated by the kernel,
both search and insert the file in a different leave, which leads to the
problem that files aren't accesable by the kernel if e2fsck has put them
into the wrong leave.

I have an small image where you can test it. With e2fsck from debian one
file is not accessable, but with a fixed version (using unsigned char in
str2hashbuf) the kernel can access the file. Are you interested in it?

Bye, Jörg.

-- System Information:
Debian Release: unstable/experimental
  APT prefers unstable
  APT policy: (990, 'unstable'), (1, 'experimental')
Architecture: powerpc (ppc)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.18
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)

Versions of packages e2fsprogs depends on:
ii  e2fslibs                     1.39-1      ext2 filesystem libraries
ii  libblkid1                    1.39-1      block device id library
ii  libc6                        2.3.6.ds1-4 GNU C Library: Shared libraries
ii  libcomerr2                   1.39-1      common error description library
ii  libdevmapper1.02             2:1.02.08-1 The Linux Kernel Device Mapper use
ii  libselinux1                  1.30.28-1   SELinux shared libraries
ii  libsepol1                    1.12.26-2   Security Enhanced Linux policy lib
ii  libss2                       1.39-1      command-line interface parsing lib
ii  libuuid1                     1.39-1      universally unique id library

e2fsprogs recommends no packages.

-- no debconf information

Attachment: pgp99G0fyAhJa.pgp
Description: PGP signature

Reply via email to