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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 13 Apr 2009 10:57:24 -0700
From:	"Matt Carlson" <mcarlson@...adcom.com>
To:	"Robin Holt" <holt@....com>
cc:	"Michael Chan" <mchan@...adcom.com>,
	"Matthew Carlson" <mcarlson@...adcom.com>,
	"David S. Miller" <davem@...emloft.net>,
	"Benjamin Li" <benli@...adcom.com>,
	"Linux Kernel Mailing List" <linux-kernel@...r.kernel.org>,
	"Linus Torvalds" <torvalds@...ux-foundation.org>
Subject: Re: Linux 2.6.30-rc1 tg3 endian issues with MAC addresses on
 BCM5701. Bisected.

Thank you for doing this bisection Robin.  This, and the data you
provided in your previous email is really helpful.  Unfortunately, they
raise more questions than answers.

I reviewed this patch again, and it still looks correct to me.  It
should be one big behavioral no-op.  Obviously something is wrong, but
I'm not seeing the root cause at the moment.  I need to think about this
some more.

On Wed, Apr 08, 2009 at 12:12:04AM -0700, Robin Holt wrote:
> git-bisect points at:
> 
> [holt@...ica 20090408-tg3]$ git-bisect good
> e4f341103e4a2b35f56a0f89802f1b1448e8d04b is first bad commit
> commit e4f341103e4a2b35f56a0f89802f1b1448e8d04b
> Author: Matt Carlson <mcarlson@...adcom.com>
> Date:   Wed Feb 25 14:25:00 2009 +0000
> 
>     tg3: Invert nvram_read() and nvram_read_swab()
>     
>     This patch removes the blind byteswap of NVRAM data as it is read in.
>     To preserve the logic at the call sites, this patch also inverts every
>     call to tg3_nvram_read() and tg3_nvram_read_swab().  The call swap gets
>     confusing within tg3_nvram_read_le() (LE is a misnomer), but the reader
>     should be able to convince himself / herself that the resulting behavior
>     is still unchanged.
>     
>     Signed-off-by: Matt Carlson <mcarlson@...adcom.com>
>     Signed-off-by: Benjamin Li <benli@...adcom.com>
>     Signed-off-by: Michael Chan <mchan@...adcom.com>
>     Signed-off-by: David S. Miller <davem@...emloft.net>
> 
> :040000 040000 847eba840b1c0fceeb2378dc3b0fb8c1628f441d 80c40390c38976d0ca9cdb59d21bc39c145aa9ce M      drivers
> 
> On Wed, Apr 08, 2009 at 01:25:59AM -0500, Robin Holt wrote:
> > On Tue, Apr 07, 2009 at 10:54:33PM -0700, Michael Chan wrote:
> > > Robin Holt wrote:
> > > 
> > > > Booting an ia64 box with a tg3 adapter results in no network.
> > > >  If I look
> > > > at the MAC address of the adapter, it has changed radically from the
> > > > original MAC.  The original MAC continues to be reported by EFI and
> > > > booting an old kernel gets the correct MAC.
> > > >
> > > > Good MAC:     08:00:69:13:E6:3C
> > > > Bad MAC:      00:00:3C:E6:13:69 (recreated from memory)
> > > 
> > > Looks like endian swapped.  Can you provide the entire tg3 signon
> > > string?  Please also dump the beginning part of the nvram:
> > > 
> > > ethtool -e eth0 length 0x90
> > 
> > >From a good boot (2.6.27):
> > tg3.c:v3.94 (August 14, 2008)
> > tg3 0006:00:01.0: PCI INT A -> GSI 65 (level, low) -> IRQ 65
> > eth0: Tigon3 [partno(9210292) rev 2003 PHY(5704)] (PCIX:133MHz:64-bit) 10/100/1000Base-T Ethernet 00:e0:ed:08:6c:18
> > eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[1] TSOcap[1]
> > eth0: dma_rwctrl[769f4000] dma_mask[64-bit] tg3 0006:00:01.1: PCI INT B -> GSI 66 (level, low) -> IRQ 66
> > eth1: Tigon3 [partno(9210292) rev 2003 PHY(5704)] (PCIX:133MHz:64-bit) 10/100/1000Base-T Ethernet 00:e0:ed:08:6c:19
> > eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[1] TSOcap[1]
> > eth1: dma_rwctrl[769f4000] dma_mask[64-bit]
> > tg3 0001:00:04.0: PCI INT A -> GSI 62 (level, low) -> IRQ 62
> > eth2: Tigon3 [partno(030-1771-000) rev 0105 PHY(5701)] (PCI:66MHz:64-bit) 10/100/1000Base-T Ethernet 08:00:69:13:e6:3c
> > eth2: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] WireSpeed[1] TSOcap[0]
> > 
> > ethtool -e eth2 length 0x90
> > Address   	Data
> > ----------	----
> > 0x00000000	0x66
> > 0x00000001	0x99
> > 0x00000002	0x55
> > 0x00000003	0xaa
> > 0x00000004	0x08
> > 0x00000005	0x00
> > 0x00000006	0x00
> > 0x00000007	0x00
> > 0x00000008	0x00
> > 0x00000009	0x00
> > 0x0000000a	0x02
> > 0x0000000b	0xa5
> > 0x0000000c	0x00
> > 0x0000000d	0x00
> > 0x0000000e	0x02
> > 0x0000000f	0x00
> > 0x00000010	0x08
> > 0x00000011	0xdf
> > 0x00000012	0x2a
> > 0x00000013	0xb1
> > 0x00000014	0x00
> > 0x00000015	0x01
> > 0x00000016	0x00
> > 0x00000017	0x00
> > 0x00000018	0x00
> > 0x00000019	0x00
> > 0x0000001a	0x3c
> > 0x0000001b	0x00
> > 0x0000001c	0x00
> > 0x0000001d	0x00
> > 0x0000001e	0x10
> > 0x0000001f	0x00
> > 0x00000020	0x00
> > 0x00000021	0x00
> > 0x00000022	0x00
> > 0x00000023	0x00
> > 0x00000024	0x00
> > 0x00000025	0x00
> > 0x00000026	0x00
> > 0x00000027	0x00
> > 0x00000028	0x00
> > 0x00000029	0x00
> > 0x0000002a	0x00
> > 0x0000002b	0x00
> > 0x0000002c	0x00
> > 0x0000002d	0x00
> > 0x0000002e	0x00
> > 0x0000002f	0x00
> > 0x00000030	0x00
> > 0x00000031	0x00
> > 0x00000032	0x00
> > 0x00000033	0x00
> > 0x00000034	0x00
> > 0x00000035	0x00
> > 0x00000036	0x00
> > 0x00000037	0x00
> > 0x00000038	0x00
> > 0x00000039	0x00
> > 0x0000003a	0x00
> > 0x0000003b	0x00
> > 0x0000003c	0x00
> > 0x0000003d	0x00
> > 0x0000003e	0x00
> > 0x0000003f	0x00
> > 0x00000040	0x00
> > 0x00000041	0x00
> > 0x00000042	0x00
> > 0x00000043	0x00
> > 0x00000044	0x00
> > 0x00000045	0x00
> > 0x00000046	0x00
> > 0x00000047	0x00
> > 0x00000048	0x00
> > 0x00000049	0x00
> > 0x0000004a	0x00
> > 0x0000004b	0x00
> > 0x0000004c	0x00
> > 0x0000004d	0x00
> > 0x0000004e	0x00
> > 0x0000004f	0x00
> > 0x00000050	0x00
> > 0x00000051	0x00
> > 0x00000052	0x00
> > 0x00000053	0x00
> > 0x00000054	0x00
> > 0x00000055	0x00
> > 0x00000056	0x00
> > 0x00000057	0x00
> > 0x00000058	0x00
> > 0x00000059	0x00
> > 0x0000005a	0x00
> > 0x0000005b	0x00
> > 0x0000005c	0x00
> > 0x0000005d	0x00
> > 0x0000005e	0x00
> > 0x0000005f	0x00
> > 0x00000060	0x00
> > 0x00000061	0x00
> > 0x00000062	0x00
> > 0x00000063	0x00
> > 0x00000064	0x00
> > 0x00000065	0x00
> > 0x00000066	0x00
> > 0x00000067	0x00
> > 0x00000068	0x00
> > 0x00000069	0x00
> > 0x0000006a	0x00
> > 0x0000006b	0x00
> > 0x0000006c	0x00
> > 0x0000006d	0x00
> > 0x0000006e	0x00
> > 0x0000006f	0x00
> > 0x00000070	0x00
> > 0x00000071	0x00
> > 0x00000072	0x00
> > 0x00000073	0x00
> > 0x00000074	0x43
> > 0x00000075	0x00
> > 0x00000076	0x00
> > 0x00000077	0x8c
> > 0x00000078	0x00
> > 0x00000079	0x00
> > 0x0000007a	0x00
> > 0x0000007b	0x01
> > 0x0000007c	0x00
> > 0x0000007d	0x00
> > 0x0000007e	0x08
> > 0x0000007f	0x00
> > 0x00000080	0x69
> > 0x00000081	0x13
> > 0x00000082	0xe6
> > 0x00000083	0x3c
> > 0x00000084	0x33
> > 0x00000085	0x43
> > 0x00000086	0x39
> > 0x00000087	0x39
> > 0x00000088	0x36
> > 0x00000089	0x42
> > 0x0000008a	0x2d
> > 0x0000008b	0x54
> > 0x0000008c	0x00
> > 0x0000008d	0x00
> > 0x0000008e	0x00
> > 0x0000008f	0x00
> > 
> > 
> > >From bad boot (v2.6.30-rc1):
> > tg3.c:v3.98 (February 25, 2009)
> > tg3 0006:00:01.0: PCI INT A -> GSI 65 (level, low) -> IRQ 65
> > tg3 0006:00:01.0: PME# disabled
> > eth0: Tigon3 [partno(9210292) rev 2003] (PCIX:133MHz:64-bit) MAC address 00:e0:ed:08:6c:18
> > eth0: attached PHY is 5704 (10/100/1000Base-T Ethernet) (WireSpeed[1])
> > eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
> > eth0: dma_rwctrl[769f4000] dma_mask[64-bit]
> > tg3 0006:00:01.1: PCI INT B -> GSI 66 (level, low) -> IRQ 66
> > tg3 0006:00:01.1: PME# disabled
> > eth1: Tigon3 [partno(9210292) rev 2003] (PCIX:133MHz:64-bit) MAC address 00:e0:ed:08:6c:19
> > eth1: attached PHY is 5704 (10/100/1000Base-T Ethernet) (WireSpeed[1])
> > eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
> > eth1: dma_rwctrl[769f4000] dma_mask[64-bit]
> > tg3 0001:00:04.0: PCI INT A -> GSI 62 (level, low) -> IRQ 62
> > tg3 0001:00:04.0: PME# disabled
> > eth2: Tigon3 [partno(030-1771-000) rev 0105] (PCI:66MHz:64-bit) MAC address 00:00:3c:e6:13:69
> > eth2: attached PHY is 5701 (10/100/1000Base-T Ethernet) (WireSpeed[1])
> > eth2: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[0]
> > eth2: dma_rwctrl[76ff3f0f] dma_mask[64-bit]
> > 
> > ethtool -e eth2 length 0x90
> > Address   	Data
> > ----------	----
> > 0x00000000	0x66
> > 0x00000001	0x99
> > 0x00000002	0x55
> > 0x00000003	0xaa
> > 0x00000004	0x08
> > 0x00000005	0x00
> > 0x00000006	0x30
> > 0x00000007	0x00
> > 0x00000008	0x00
> > 0x00000009	0x00
> > 0x0000000a	0x03
> > 0x0000000b	0x15
> > 0x0000000c	0x00
> > 0x0000000d	0x00
> > 0x0000000e	0x02
> > 0x0000000f	0xf8
> > 0x00000010	0xaf
> > 0x00000011	0xfc
> > 0x00000012	0x24
> > 0x00000013	0xb1
> > 0x00000014	0x00
> > 0x00000015	0x01
> > 0x00000016	0x00
> > 0x00000017	0x00
> > 0x00000018	0x00
> > 0x00000019	0x00
> > 0x0000001a	0x3d
> > 0x0000001b	0xaa
> > 0x0000001c	0x00
> > 0x0000001d	0x00
> > 0x0000001e	0x1f
> > 0x0000001f	0xb0
> > 0x00000020	0x00
> > 0x00000021	0x00
> > 0x00000022	0x00
> > 0x00000023	0x00
> > 0x00000024	0x00
> > 0x00000025	0x00
> > 0x00000026	0x00
> > 0x00000027	0x00
> > 0x00000028	0x00
> > 0x00000029	0x00
> > 0x0000002a	0x00
> > 0x0000002b	0x00
> > 0x0000002c	0x00
> > 0x0000002d	0x00
> > 0x0000002e	0x00
> > 0x0000002f	0x00
> > 0x00000030	0x00
> > 0x00000031	0x00
> > 0x00000032	0x00
> > 0x00000033	0x00
> > 0x00000034	0x00
> > 0x00000035	0x00
> > 0x00000036	0x00
> > 0x00000037	0x00
> > 0x00000038	0x00
> > 0x00000039	0x00
> > 0x0000003a	0x00
> > 0x0000003b	0x00
> > 0x0000003c	0x00
> > 0x0000003d	0x00
> > 0x0000003e	0x00
> > 0x0000003f	0x00
> > 0x00000040	0x00
> > 0x00000041	0x00
> > 0x00000042	0x00
> > 0x00000043	0x00
> > 0x00000044	0x00
> > 0x00000045	0x00
> > 0x00000046	0x00
> > 0x00000047	0x00
> > 0x00000048	0x00
> > 0x00000049	0x00
> > 0x0000004a	0x00
> > 0x0000004b	0x00
> > 0x0000004c	0x00
> > 0x0000004d	0x00
> > 0x0000004e	0x00
> > 0x0000004f	0x00
> > 0x00000050	0x00
> > 0x00000051	0x00
> > 0x00000052	0x00
> > 0x00000053	0x00
> > 0x00000054	0x00
> > 0x00000055	0x00
> > 0x00000056	0x00
> > 0x00000057	0x00
> > 0x00000058	0x00
> > 0x00000059	0x00
> > 0x0000005a	0x00
> > 0x0000005b	0x00
> > 0x0000005c	0x00
> > 0x0000005d	0x00
> > 0x0000005e	0x00
> > 0x0000005f	0x00
> > 0x00000060	0x00
> > 0x00000061	0x00
> > 0x00000062	0x00
> > 0x00000063	0x00
> > 0x00000064	0x00
> > 0x00000065	0x00
> > 0x00000066	0x00
> > 0x00000067	0x00
> > 0x00000068	0x00
> > 0x00000069	0x00
> > 0x0000006a	0x00
> > 0x0000006b	0x00
> > 0x0000006c	0x00
> > 0x0000006d	0x00
> > 0x0000006e	0x00
> > 0x0000006f	0x00
> > 0x00000070	0x00
> > 0x00000071	0x00
> > 0x00000072	0x00
> > 0x00000073	0x00
> > 0x00000074	0x43
> > 0x00000075	0x00
> > 0x00000076	0x00
> > 0x00000077	0x8c
> > 0x00000078	0x00
> > 0x00000079	0x20
> > 0x0000007a	0x61
> > 0x0000007b	0x10
> > 0x0000007c	0x00
> > 0x0000007d	0x00
> > 0x0000007e	0x00
> > 0x0000007f	0xe0
> > 0x00000080	0xed
> > 0x00000081	0x08
> > 0x00000082	0x6c
> > 0x00000083	0x18
> > 0x00000084	0x39
> > 0x00000085	0x32
> > 0x00000086	0x31
> > 0x00000087	0x30
> > 0x00000088	0x32
> > 0x00000089	0x39
> > 0x0000008a	0x32
> > 0x0000008b	0x00
> > 0x0000008c	0x00
> > 0x0000008d	0x00
> > 0x0000008e	0x00
> > 0x0000008f	0x00
> > 
> > 
> > > > If I set the MAC using ifconfig, then everything works normally.
> > > >
> > > 
> > > The bad MAC address that has been swapped is also a valid MAC address
> > > and should still work though.
> > 
> > Our network dhcp servers on this test network only hand out IPs to known
> > MACs so we detect situations like this.
> > 
> > Robin
> > --
> > 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/
> 

--
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