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

Bug#404834: linux-image-2.6.18-3-sparc64: Kernel unaligned access kills at least sshfs (and may make USB unreliable)



Package: linux-image-2.6.18-3-sparc64
Version: 2.6.18-8
Severity: critical
Tags: patch
Justification: breaks unrelated software

Hi,

at first: if the severity may seem inflated feel free to adjust it.

Well start with the easy things: my hardware is an old Sun Ultra 5.  I
added an USB 2.0 controller because I do not have a type 6 mouse, only a
keyboard (output of lspci concerning the controller):

  02:03.0 USB Controller: NEC Corporation USB (rev 41)
  02:03.1 USB Controller: NEC Corporation USB (rev 41)
  02:03.2 USB Controller: NEC Corporation USB 2.0 (rev 02)

The mouse works but at boot I get this:

  Kernel unaligned access at TPC[1000c9e4] ehci_hub_control+0x54c/0x68c [ehci_hcd]
  Kernel unaligned access at TPC[1000c9e4] ehci_hub_control+0x54c/0x68c [ehci_hcd]
  Kernel unaligned access at TPC[1000c9e4] ehci_hub_control+0x54c/0x68c [ehci_hcd]
  Kernel unaligned access at TPC[1000c9e4] ehci_hub_control+0x54c/0x68c [ehci_hcd]
  Kernel unaligned access at TPC[1000c9e4] ehci_hub_control+0x54c/0x68c [ehci_hcd]

According to http://lkml.org/lkml/2006/9/22/326

  >> A 2.6.18-rc kernel compiled with gcc-4.1.1 will throw a few
  >> unaligned accesses when I initialise USB by inserting a USB memory stick.
  >> Removing the memory stick then results in PCI errors and other breakage.

Well, I do not have any USB mass media which is dispensible and as this
may (or may not) kill data I opted not to try.

A patch is included in http://lkml.org/lkml/2006/9/23/184:

  diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
  index fb4d058..7766d7b 100644
  --- a/drivers/usb/core/hcd.c
  +++ b/drivers/usb/core/hcd.c
  @@ -344,7 +344,8 @@ static int rh_call_control (struct usb_h
          struct usb_ctrlrequest *cmd;
          u16             typeReq, wValue, wIndex, wLength;
          u8              *ubuf = urb->transfer_buffer;
  -       u8              tbuf [sizeof (struct usb_hub_descriptor)];
  +       u8              tbuf [sizeof (struct usb_hub_descriptor)]
  +               __attribute__((aligned(4)));
          const u8        *bufp = tbuf;
          int             len = 0;
          int             patch_wakeup = 0;

I compiled a kernel with this patch (wrecked a harddisk while doing
this, but this is almost 100% certainly not related) and the messages
disappears.

But as I tried to use sshfs to access another computer on my net this
happened:

  $ unset LANG
  $ echo $LANG
  
  $ sshfs smc@phobos:/home/smc phobos/
  Kernel unaligned access at TPC[5d3770] scm_detach_fds_compat+0x74/0x16c
  Kernel unaligned access at TPC[5d37dc] scm_detach_fds_compat+0xe0/0x16c
  Kernel unaligned access at TPC[5d37f8] scm_detach_fds_compat+0xfc/0x16c
  Kernel unaligned access at TPC[5d3810] scm_detach_fds_compat+0x114/0x16c
  Bus-Zugriffsfehler
  $ ls phobos
  ls: phobos: Transport endpoint is not connected
  $ ls
  total 12
  drwxr-xr-x 6 smc smc 4096 Dec 28 13:22 GNUstep/
  drwx------ 5 smc smc 4096 Dec 28 14:13 Maildir/
  ?--------- ? ?   ?      ?            ? phobos

The mountpoint is unusable (but luckily unmountable via fusermount -u).

I guess the same problem as above applies BUT I DO NOT HAVE ANY KERNEL
EXPERTISE WHATSOEVER!

If there is anything I can do to help please let me know!

Greetings,


Sebastian Fontius


-- System Information:
Debian Release: 4.0
  APT prefers testing
  APT policy: (550, 'testing'), (50, 'unstable'), (40, 'experimental')
Architecture: sparc (sparc64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-3-sparc64
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)

Versions of packages linux-image-2.6.18-3-sparc64 depends on:
ii  coreutils                     5.97-5     The GNU core utilities
ii  debconf [debconf-2.0]         1.5.11     Debian configuration management sy
ii  initramfs-tools [linux-initra 0.85e      tools for generating an initramfs
ii  module-init-tools             3.3-pre3-1 tools for managing Linux kernel mo

linux-image-2.6.18-3-sparc64 recommends no packages.

-- debconf information:
  linux-image-2.6.18-3-sparc64/preinst/lilo-has-ramdisk:
  linux-image-2.6.18-3-sparc64/preinst/lilo-initrd-2.6.18-3-sparc64: true
  linux-image-2.6.18-3-sparc64/postinst/bootloader-error-2.6.18-3-sparc64:
  linux-image-2.6.18-3-sparc64/preinst/initrd-2.6.18-3-sparc64:
  linux-image-2.6.18-3-sparc64/prerm/would-invalidate-boot-loader-2.6.18-3-sparc64: true
  shared/kernel-image/really-run-bootloader: true
* linux-image-2.6.18-3-sparc64/preinst/already-running-this-2.6.18-3-sparc64:
  linux-image-2.6.18-3-sparc64/postinst/bootloader-test-error-2.6.18-3-sparc64:
  linux-image-2.6.18-3-sparc64/postinst/old-initrd-link-2.6.18-3-sparc64: true
  linux-image-2.6.18-3-sparc64/preinst/failed-to-move-modules-2.6.18-3-sparc64:
  linux-image-2.6.18-3-sparc64/postinst/old-dir-initrd-link-2.6.18-3-sparc64: true
  linux-image-2.6.18-3-sparc64/preinst/elilo-initrd-2.6.18-3-sparc64: true
  linux-image-2.6.18-3-sparc64/preinst/bootloader-initrd-2.6.18-3-sparc64: true
  linux-image-2.6.18-3-sparc64/preinst/overwriting-modules-2.6.18-3-sparc64: true
  linux-image-2.6.18-3-sparc64/postinst/depmod-error-initrd-2.6.18-3-sparc64: false
  linux-image-2.6.18-3-sparc64/postinst/create-kimage-link-2.6.18-3-sparc64: true
  linux-image-2.6.18-3-sparc64/preinst/abort-overwrite-2.6.18-3-sparc64:
  linux-image-2.6.18-3-sparc64/postinst/old-system-map-link-2.6.18-3-sparc64: true
  linux-image-2.6.18-3-sparc64/preinst/abort-install-2.6.18-3-sparc64:
  linux-image-2.6.18-3-sparc64/prerm/removing-running-kernel-2.6.18-3-sparc64: true
  linux-image-2.6.18-3-sparc64/postinst/kimage-is-a-directory:
  linux-image-2.6.18-3-sparc64/postinst/depmod-error-2.6.18-3-sparc64: false



Reply to: