Thread (29 messages) 29 messages, 5 authors, 2024-06-26

Re: [PATCH net-next v13 00/13] Introduce PHY listing and link_topology tracking

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: 2024-06-26 09:48:53
Also in: lkml, netdev

On 07.06.2024 09:18:13, Maxime Chevallier wrote:
Hello everyone,

This is V13 for the link topology addition, allowing to track all PHYs
that are linked to netdevices.

This version is based on the V12, and addresses the missing
documentation for the return code of some helpersn, and gathers the
review from Köry.

Discussions on the patch 01/13 updates can be found here :

https://lore.kernel.org/netdev/20240412104615.3779632-1-maxime.chevallier@bootlin.com/ (local)
https://lore.kernel.org/netdev/20240429131008.439231-1-maxime.chevallier@bootlin.com/ (local)
https://lore.kernel.org/netdev/20240507102822.2023826-1-maxime.chevallier@bootlin.com/ (local)

As a remainder, here's what the PHY listings would look like :
 - eth0 has a 88x3310 acting as media converter, and an SFP module with
   an embedded 88e1111 PHY
 - eth2 has a 88e1510 PHY

# ethtool --show-phys *
This creates the following warning for me:

[   51.877429] ------------[ cut here ]------------
[   51.882094] WARNING: CPU: 0 PID: 333 at lib/refcount.c:31 ref_tracker_free+0x1ac/0x254
[   51.890222] refcount_t: decrement hit 0; leaking memory.
[   51.895611] Modules linked in: mcp251xfd flexcan imx_sdma can_dev spi_imx
[   51.902493] CPU: 0 PID: 333 Comm: ethtool Not tainted 6.10.0-rc4+ #327
[   51.909056] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[   51.915603] Call trace: 
[   51.915623] [<c0d2cbd0>] (unwind_backtrace) from [<c0109bcc>] (show_stack+0x10/0x14)
[   51.925979] [<c0109bcc>] (show_stack) from [<c0d4744c>] (dump_stack_lvl+0x50/0x64)
[   51.933605] [<c0d4744c>] (dump_stack_lvl) from [<c0d2d2ec>] (__warn+0x88/0xc0)
[   51.940877] [<c0d2d2ec>] (__warn) from [<c0120ba0>] (warn_slowpath_fmt+0x1b4/0x1c4)
[   51.948590] [<c0120ba0>] (warn_slowpath_fmt) from [<c0697f74>] (ref_tracker_free+0x1ac/0x254)
[   51.957176] [<c0697f74>] (ref_tracker_free) from [<c0ae4b7c>] (ethnl_phy_done+0x24/0x54)
[   51.965318] [<c0ae4b7c>] (ethnl_phy_done) from [<c0acda68>] (genl_done+0x3c/0x88)
[   51.972845] [<c0acda68>] (genl_done) from [<c0ac9b6c>] (netlink_dump+0x2d8/0x3d0)
[   51.980387] [<c0ac9b6c>] (netlink_dump) from [<c0aca2fc>] (__netlink_dump_start+0x1f4/0x2c4)
[   51.988889] [<c0aca2fc>] (__netlink_dump_start) from [<c0acd7bc>] (genl_family_rcv_msg+0x140/0x328)
[   51.997989] [<c0acd7bc>] (genl_family_rcv_msg) from [<c0acd9e8>] (genl_rcv_msg+0x44/0x88)
[   52.006204] [<c0acd9e8>] (genl_rcv_msg) from [<c0acc554>] (netlink_rcv_skb+0xb8/0x118)
[   52.014157] [<c0acc554>] (netlink_rcv_skb) from [<c0acd038>] (genl_rcv+0x20/0x34)
[   52.021673] [<c0acd038>] (genl_rcv) from [<c0acbd24>] (netlink_unicast+0x23c/0x3d0)
[   52.029367] [<c0acbd24>] (netlink_unicast) from [<c0acc044>] (netlink_sendmsg+0x18c/0x3d4)
[   52.037667] [<c0acc044>] (netlink_sendmsg) from [<c0a4b30c>] (__sys_sendto+0xd4/0x128)
[   52.045626] [<c0a4b30c>] (__sys_sendto) from [<c0100080>] (ret_fast_syscall+0x0/0x54)
[   52.053496] Exception stack(0xc3967fa8 to 0xc3967ff0)
[   52.058576] 7fa0:                   b6f1130c 0000000c 00000003 015dd238 00000018 00000000
[   52.066780] 7fc0: b6f1130c 0000000c b6fb6700 00000122 00571000 00000001 0052a2f8 015dd190
[   52.074978] 7fe0: 00000122 bec7cf38 b6ea847d b6e1fe86
[   52.080184] ---[ end trace 0000000000000000 ]---

While a "ethtool --show-phys lan0" works w/o problems.

| $ ip a s
| 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
|     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
|     inet 127.0.0.1/8 scope host lo
|        valid_lft forever preferred_lft forever
|     inet6 ::1/128 scope host 
|        valid_lft forever preferred_lft forever
| 2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
|     link/sit 0.0.0.0 brd 0.0.0.0
| 3: lan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
|     link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
|     inet 192.168.178.140/24 metric 1024 brd 192.168.178.255 scope global dynamic lan0
|        valid_lft 863858sec preferred_lft 863858sec
|     inet6 2003:xx:xxxx:xxxx:xxx:xxxx:xxxx:xxxx/64 scope global temporary dynamic 
|        valid_lft 7057sec preferred_lft 982sec
|     inet6 2003:xx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute 
|        valid_lft 7057sec preferred_lft 982sec
|     inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link 
|        valid_lft forever preferred_lft forever
| 4: flexcan0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP group default qlen 10
|     link/can 
| 5: mcp251xfd0: <NOARP,UP,LOWER_UP,ECHO> mtu 72 qdisc pfifo_fast state UP group default qlen 10
|     link/can 

regards,
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde          |
Embedded Linux                   | https://www.pengutronix.de |
Vertretung Nürnberg              | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-9   |

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help