linux-yocto/drivers/net/ethernet/freescale/enetc
Wei Fang e15c5506dd net: enetc: allocate vf_state during PF probes
In the previous implementation, vf_state is allocated memory only when VF
is enabled. However, net_device_ops::ndo_set_vf_mac() may be called before
VF is enabled to configure the MAC address of VF. If this is the case,
enetc_pf_set_vf_mac() will access vf_state, resulting in access to a null
pointer. The simplified error log is as follows.

root@ls1028ardb:~# ip link set eno0 vf 1 mac 00:0c:e7:66:77:89
[  173.543315] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000004
[  173.637254] pc : enetc_pf_set_vf_mac+0x3c/0x80 Message from sy
[  173.641973] lr : do_setlink+0x4a8/0xec8
[  173.732292] Call trace:
[  173.734740]  enetc_pf_set_vf_mac+0x3c/0x80
[  173.738847]  __rtnl_newlink+0x530/0x89c
[  173.742692]  rtnl_newlink+0x50/0x7c
[  173.746189]  rtnetlink_rcv_msg+0x128/0x390
[  173.750298]  netlink_rcv_skb+0x60/0x130
[  173.754145]  rtnetlink_rcv+0x18/0x24
[  173.757731]  netlink_unicast+0x318/0x380
[  173.761665]  netlink_sendmsg+0x17c/0x3c8

Fixes: d4fd0404c1 ("enetc: Introduce basic PF and VF ENETC ethernet drivers")
Signed-off-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Tested-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://patch.msgid.link/20241031060247.1290941-2-wei.fang@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-11-03 12:50:53 -08:00
..
enetc_cbdr.c
enetc_ethtool.c net: enetc: Replace ifdef with IS_ENABLED 2024-09-13 20:01:11 -07:00
enetc_hw.h
enetc_ierb.c net: Explicitly include correct DT includes 2023-07-27 20:33:16 -07:00
enetc_ierb.h
enetc_mdio.c
enetc_msg.c
enetc_pci_mdio.c
enetc_pf.c net: enetc: allocate vf_state during PF probes 2024-11-03 12:50:53 -08:00
enetc_pf.h
enetc_ptp.c net: enetc: use EXPORT_SYMBOL_GPL for enetc_phc_index 2023-08-02 11:18:22 -07:00
enetc_qos.c net: enetc: Annotate struct enetc_psfp_gate with __counted_by 2023-10-02 11:24:55 -07:00
enetc_vf.c net: enetc: set MAC address to the VF net_device 2024-10-31 19:07:40 -07:00
enetc.c net: enetc: disable NAPI after all rings are disabled 2024-10-11 15:45:11 -07:00
enetc.h net: enetc: block concurrent XDP transmissions during ring reconfiguration 2024-10-11 15:45:11 -07:00
Kconfig
Makefile