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 for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <77093903.194093.1486748785802.JavaMail.zimbra@savoirfairelinux.com>
Date:   Fri, 10 Feb 2017 12:46:25 -0500 (EST)
From:   Vivien Didelot <vivien.didelot@...oirfairelinux.com>
To:     f.fainelli@...il.com, maowenan@...wei.com
Cc:     netdev@...r.kernel.org, andrew@...n.ch
Subject: cafe8df8b9bc clashes with DSA

Hi,

With latest net-next/master, both my ZII Rev B and Rev C boards crash at
boot. Bisecting found the bad guy: cafe8df8b9bc ("net: phy: Fix lack of
reference count on PHY driver"). Below is the stack trace at boot:

	<snip>
	libphy: mdio_mux: probed
	mdio_bus 0.1:00: mdio_device_register
	mv88e6085 0.1:00: switch 0x352 detected: Marvell 88E6352, revision 1
	libphy: /mdio-mux/mdio@...witch0@0: probed
	libphy: mdio_mux: probed
	mdio_bus 0.2:00: mdio_device_register
	mv88e6085 0.2:00: switch 0x352 detected: Marvell 88E6352, revision 1
	mmc0: host does not support reading read-only switch, assuming write-enable
	random: fast init done
	mmc0: new high speed SDHC card at address 0001
	mmcblk0: mmc0:0001 L1BN2 3.86 GiB 
	 mmcblk0: p1
	libphy: /mdio-mux/mdio@...witch1@0: probed
	libphy: mdio_mux: probed
	mdio_bus 0.4:00: mdio_device_register
	mv88e6085 0.4:00: switch 0x1a7 detected: Marvell 88E6185, revision 2
	libphy: /mdio-mux/mdio@...witch2@0: probed
	DSA: switch 0 0 parsed
	DSA: switch 0 1 parsed
	DSA: switch 0 2 parsed
	DSA: tree 0 parsed
	Marvell 88E1540 !mdio-mux!mdio@1:00: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@1:00, irq=212)
	Marvell 88E1540 !mdio-mux!mdio@1:01: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@1:01, irq=213)
	Marvell 88E1540 !mdio-mux!mdio@1:02: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@1:02, irq=214)
	Marvell 88E1540 !mdio-mux!mdio@2:00: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@2:00, irq=237)
	Marvell 88E1540 !mdio-mux!mdio@2:01: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@2:01, irq=238)
	Marvell 88E1540 !mdio-mux!mdio@2:02: attached PHY driver [Marvell 88E1540] (mii_bus:phy_addr=!mdio-mux!mdio@2:02, irq=239)
	Unable to handle kernel NULL pointer dereference at virtual address 00000008
	pgd = 80004000
	[00000008] *pgd=00000000
	Internal error: Oops: 17 [#1] ARM
	Modules linked in:
	CPU: 0 PID: 687 Comm: kworker/0:2 Not tainted 4.10.0-rc6 #115
	Hardware name: Freescale Vybrid VF5xx/VF6xx (Device Tree)
	Workqueue: events deferred_probe_work_func
	task: 9ecda000 task.stack: 9eca2000
	PC is at phy_attach_direct+0x50/0x1a8
	LR is at phy_connect_direct+0x24/0x5c
	pc : [<8046d688>]    lr : [<8046d8e0>]    psr: 600a0013
	sp : 9eca3ab8  ip : 9eca3ae8  fp : 9eca3ae4
	r10: 00000000  r9 : 00000002  r8 : 9ed02c00
	r7 : 00000000  r6 : 9ed32800  r5 : 00000000  r4 : 9ed03000
	r3 : 00000000  r2 : 00000000  r1 : 9ec62e00  r0 : 00000000
	Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
	Control: 10c53c7d  Table: 9ed28059  DAC: 00000051
	Process kworker/0:2 (pid: 687, stack limit = 0x9eca2208)
	Stack: (0x9eca3ab8 to 0x9eca4000)
	3aa0:                                                       00000002 9ed03000
	3ac0: 00000000 80634064 00000000 9fff7724 00000000 00000000 9eca3b04 9eca3ae8
	3ae0: 8046d8e0 8046d644 00000002 9ed32c60 00000000 9ed32800 9eca3b24 9eca3b08
	3b00: 80634174 8046d8c8 00000000 9ed32800 9f6b9000 9ec70210 9eca3b64 9eca3b28
	3b20: 806345c0 80634120 00000001 00000001 9ed32c60 9ec62e00 9f646e00 9fff7724
	3b40: 9f646e00 9ec70210 00000000 9f646f08 9ec70210 9ec70210 9eca3bbc 9eca3b68
	3b60: 806352a8 80634354 00000000 801f1dc8 9ec70210 9f646f04 9f646f08 9f646f08
	3b80: 9ec7001c 00000000 00000002 00000009 9eca3bbc 9ec62e00 9ec70010 9ec7001c
	3ba0: 00000000 9fff7450 00000000 0000000c 9eca3bf4 9eca3bc0 8047dabc 80634b48
	3bc0: 00000000 8123d2e4 9eca3be4 9eca3bd8 9ec62e00 81299770 81258d50 00000000
	3be0: 8123d2e4 00000000 9eca3c04 9eca3bf8 8046e9ec 8047d6fc 9eca3c3c 9eca3c08
	3c00: 8040c2bc 8046e9d0 9eca3c24 9eca3c18 80521d10 00000001 8123d2e4 9ec62e00
	3c20: 9eca3c88 8129974c 00000000 00000000 9eca3c5c 9eca3c40 8040c6d4 8040c04c
	3c40: 00000000 9eca3c88 8040c628 00000001 9eca3c84 9eca3c60 8040a0fc 8040c634
	3c60: 9f5e57dc 9f73ce34 8041659c 9ec62e00 9ec62e34 8123a150 9eca3cac 9eca3c88
	3c80: 8040be90 8040a094 9ec62e00 00000001 9ec62e08 9ec62e00 8123a150 00000000
	3ca0: 9eca3cbc 9eca3cb0 8040c76c 8040bddc 9eca3cdc 9eca3cc0 8040b254 8040c75c
	3cc0: 81252e00 9ec62e08 9ed02840 9ec62e00 9eca3d1c 9eca3ce0 80409010 8040b1cc
	3ce0: 9eca3d10 9eca3cf0 80407800 8040749c 9eca3d14 9fff7450 9ec62e00 00000000
	3d00: 9fff730c 9ed02840 9ec62e00 00000000 9eca3d34 9eca3d20 8046eb48 80408bfc
	3d20: 9fff7450 9ed02800 9eca3d74 9eca3d38 8052647c 8046eb18 9ec9a890 8046f210
	3d40: 80803490 8125e3a8 9eca3d6c 9fff730c 00000000 9f59ac10 9ec9a890 8046f210
	3d60: 80803490 9ec74ed0 9eca3dbc 9eca3d78 8046f428 8052639c 00000004 9ec9a740
	3d80: 9f5cf780 9ec9a714 9eca3dbc 00000004 803a8d88 9f59ac10 9ec9a710 9f59ac00
	3da0: fffffdfb 8123a2f8 00000000 00000003 9eca3de4 9eca3dc0 8046f658 8046f2a0
	3dc0: 00000000 8123a2f8 00000000 9f59ac10 9f59ac10 8123a2f8 9eca3e04 9eca3de8
	3de0: 8040e0b0 8046f5ec 9f59ac10 81299770 81258d50 00000000 9eca3e3c 9eca3e08
	3e00: 8040c2bc 8040e060 80521d10 805207f4 9eca3e3c 00000001 8123a2f8 9f59ac10
	3e20: 9eca3e88 00000000 00000000 81252518 9eca3e5c 9eca3e40 8040c6d4 8040c04c
	3e40: 00000000 9eca3e88 8040c628 00000001 9eca3e84 9eca3e60 8040a0fc 8040c634
	3e60: 9f4901dc 9f73f834 8041659c 9f59ac10 9f59ac44 81233b28 9eca3eac 9eca3e88
	3e80: 8040be90 8040a094 9f59ac10 00000001 9f59ac10 9f59ac10 81233b28 81258d50
	3ea0: 9eca3ebc 9eca3eb0 8040c76c 8040bddc 9eca3edc 9eca3ec0 8040b254 8040c75c
	3ec0: 00000000 9f59ac10 81233974 81233988 9eca3efc 9eca3ee0 8040b7f8 8040b1cc
	3ee0: 81233990 9ece9100 8120aecc 9ffdc100 9eca3f34 9eca3f00 8012f3dc 8040b7bc
	3f00: 8120aecc 81210980 8120aee0 8120aecc 9ece9118 81210980 8120aee0 9eca2038
	3f20: 8120aecc 9ece9100 9eca3f7c 9eca3f38 8012f860 8012f2c8 9ecefb58 9f4e9e94
	3f40: 81210980 9eca2000 00000000 8121542d 9ece9100 9ecefb40 00000000 9ecef900
	3f60: 9ece9100 8012f66c 9ecefb58 9f4e9e94 9eca3fac 9eca3f80 801352e8 8012f678
	3f80: 9eca2000 9ecef900 801351d4 00000000 00000000 00000000 00000000 00000000
	3fa0: 00000000 9eca3fb0 80108cd8 801351e0 00000000 00000000 00000000 00000000
	3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	3fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
	Backtrace: 
	[<8046d638>] (phy_attach_direct) from [<8046d8e0>] (phy_connect_direct+0x24/0x5c)
	 r10:00000000 r9:00000000 r8:9fff7724 r7:00000000 r6:80634064 r5:00000000
	 r4:9ed03000 r3:00000002
	[<8046d8bc>] (phy_connect_direct) from [<80634174>] (dsa_slave_phy_connect+0x60/0x80)
	 r6:9ed32800 r5:00000000 r4:9ed32c60 r3:00000002
	[<80634114>] (dsa_slave_phy_connect) from [<806345c0>] (dsa_slave_create+0x278/0x3f4)
	 r6:9ec70210 r5:9f6b9000 r4:9ed32800 r3:00000000
	[<80634348>] (dsa_slave_create) from [<806352a8>] (dsa_register_switch+0x76c/0x80c)
	 r10:9ec70210 r9:9ec70210 r8:9f646f08 r7:00000000 r6:9ec70210 r5:9f646e00
	 r4:9fff7724
	[<80634b3c>] (dsa_register_switch) from [<8047dabc>] (mv88e6xxx_probe+0x3cc/0x444)
	 r10:0000000c r9:00000000 r8:9fff7450 r7:00000000 r6:9ec7001c r5:9ec70010
	 r4:9ec62e00
	[<8047d6f0>] (mv88e6xxx_probe) from [<8046e9ec>] (mdio_probe+0x28/0x34)
	 r9:00000000 r8:8123d2e4 r7:00000000 r6:81258d50 r5:81299770 r4:9ec62e00
	[<8046e9c4>] (mdio_probe) from [<8040c2bc>] (driver_probe_device+0x27c/0x474)
	[<8040c040>] (driver_probe_device) from [<8040c6d4>] (__device_attach_driver+0xac/0x128)
	 r10:00000000 r9:00000000 r8:8129974c r7:9eca3c88 r6:9ec62e00 r5:8123d2e4
	 r4:00000001
	[<8040c628>] (__device_attach_driver) from [<8040a0fc>] (bus_for_each_drv+0x74/0xa8)
	 r7:00000001 r6:8040c628 r5:9eca3c88 r4:00000000
	[<8040a088>] (bus_for_each_drv) from [<8040be90>] (__device_attach+0xc0/0x150)
	 r6:8123a150 r5:9ec62e34 r4:9ec62e00
	[<8040bdd0>] (__device_attach) from [<8040c76c>] (device_initial_probe+0x1c/0x20)
	 r7:00000000 r6:8123a150 r5:9ec62e00 r4:9ec62e08
	[<8040c750>] (device_initial_probe) from [<8040b254>] (bus_probe_device+0x94/0x9c)
	[<8040b1c0>] (bus_probe_device) from [<80409010>] (device_add+0x420/0x5b8)
	 r6:9ec62e00 r5:9ed02840 r4:9ec62e08 r3:81252e00
	[<80408bf0>] (device_add) from [<8046eb48>] (mdio_device_register+0x3c/0x6c)
	 r10:00000000 r9:9ec62e00 r8:9ed02840 r7:9fff730c r6:00000000 r5:9ec62e00
	 r4:9fff7450
	[<8046eb0c>] (mdio_device_register) from [<8052647c>] (of_mdiobus_register+0xec/0x1fc)
	 r5:9ed02800 r4:9fff7450
	[<80526390>] (of_mdiobus_register) from [<8046f428>] (mdio_mux_init+0x194/0x254)
	 r10:9ec74ed0 r9:80803490 r8:8046f210 r7:9ec9a890 r6:9f59ac10 r5:00000000
	 r4:9fff730c
	[<8046f294>] (mdio_mux_init) from [<8046f658>] (mdio_mux_gpio_probe+0x78/0xac)
	 r10:00000003 r9:00000000 r8:8123a2f8 r7:fffffdfb r6:9f59ac00 r5:9ec9a710
	 r4:9f59ac10
	[<8046f5e0>] (mdio_mux_gpio_probe) from [<8040e0b0>] (platform_drv_probe+0x5c/0xc0)
	 r6:8123a2f8 r5:9f59ac10 r4:9f59ac10
	[<8040e054>] (platform_drv_probe) from [<8040c2bc>] (driver_probe_device+0x27c/0x474)
	 r7:00000000 r6:81258d50 r5:81299770 r4:9f59ac10
	[<8040c040>] (driver_probe_device) from [<8040c6d4>] (__device_attach_driver+0xac/0x128)
	 r10:81252518 r9:00000000 r8:00000000 r7:9eca3e88 r6:9f59ac10 r5:8123a2f8
	 r4:00000001
	[<8040c628>] (__device_attach_driver) from [<8040a0fc>] (bus_for_each_drv+0x74/0xa8)
	 r7:00000001 r6:8040c628 r5:9eca3e88 r4:00000000
	[<8040a088>] (bus_for_each_drv) from [<8040be90>] (__device_attach+0xc0/0x150)
	 r6:81233b28 r5:9f59ac44 r4:9f59ac10
	[<8040bdd0>] (__device_attach) from [<8040c76c>] (device_initial_probe+0x1c/0x20)
	 r7:81258d50 r6:81233b28 r5:9f59ac10 r4:9f59ac10
	[<8040c750>] (device_initial_probe) from [<8040b254>] (bus_probe_device+0x94/0x9c)
	[<8040b1c0>] (bus_probe_device) from [<8040b7f8>] (deferred_probe_work_func+0x48/0xcc)
	 r6:81233988 r5:81233974 r4:9f59ac10 r3:00000000
	[<8040b7b0>] (deferred_probe_work_func) from [<8012f3dc>] (process_one_work+0x120/0x3b0)
	 r7:9ffdc100 r6:8120aecc r5:9ece9100 r4:81233990
	[<8012f2bc>] (process_one_work) from [<8012f860>] (worker_thread+0x1f4/0x534)
	 r10:9ece9100 r9:8120aecc r8:9eca2038 r7:8120aee0 r6:81210980 r5:9ece9118
	 r4:8120aecc
	[<8012f66c>] (worker_thread) from [<801352e8>] (kthread+0x114/0x144)
	 r10:9f4e9e94 r9:9ecefb58 r8:8012f66c r7:9ece9100 r6:9ecef900 r5:00000000
	 r4:9ecefb40
	[<801351d4>] (kthread) from [<80108cd8>] (ret_from_fork+0x14/0x3c)
	 r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:801351d4
	 r4:9ecef900 r3:9eca2000
	Code: ebf402bc e3500000 0a00004e e5943044 (e5930008) 
	---[ end trace 669c1d3a208ea147 ]---


Reverting cafe8df8b9bc fixes my setup.

Thanks,

	Vivien

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ