Here's a pair of unaligned accesses I found playing with the eth1394 driver: Kernel unaligned access at TPC[102c8190] ether1394_tx+0xf8/0x600 [eth1394] Kernel unaligned access at TPC[10162c8c] ether1394_data_handler+0x914/0x1000 [eth1394] The first one I seem to be able to fix by adding a get_unaligned() at lines 1679-1680 of eth1394.c around eth->h_dest; the second one seems to be triggered by this code: (gdb) list *ether1394_data_handler+0x914 0xc94 is in ether1394_data_handler (drivers/ieee1394/eth1394.c:1264). 1259 priv->stats.rx_dropped++; 1260 dev_kfree_skb_any(skb); 1261 goto bad_proto; 1262 } 1263 1264 if (netif_rx(skb) == NET_RX_DROP) { 1265 priv->stats.rx_errors++; 1266 priv->stats.rx_dropped++; 1267 goto bad_proto; 1268 } Unaligned accesses caused by netif_rx seem to have happened before on mips long ago (according to google). I suspect nobody has ever tried eth1394 on sparc64 ;-) eth1394 seems to work fine otherwise, I can plug a firewire hdd and a laptop with firewire into the sparc and everything works OK. I get ~13MB/sec network throughput from laptop -> sparc (the sparc's CPU is hitting 100% system time), I suspect it would be a lot faster with the alignment problem fixed.
Attachment:
pgpNVQGIM6Ax1.pgp
Description: PGP signature
- Follow-Ups:
- Re: [sparc64] 2.6.18 unaligned accesses in eth1394
- From: David Miller <[email protected]>
- Re: [sparc64] 2.6.18 unaligned accesses in eth1394
- From: David Miller <[email protected]>
- Re: [sparc64] 2.6.18 unaligned accesses in eth1394
- Prev by Date: Re: 2.6.19-rc1: known regressions
- Next by Date: Re: [Alsa-user] Pb with simultaneous SATA and ALSA I/O
- Previous by thread: uml: allow using again x86/x86_64 crypto code
- Next by thread: Re: [sparc64] 2.6.18 unaligned accesses in eth1394
- Index(es):