Commit 31bf7b2b authored by Jakub Raczynski's avatar Jakub Raczynski Committed by Greg Kroah-Hartman
Browse files

net/mdiobus: Fix potential out-of-bounds clause 45 read/write access



[ Upstream commit 260388f7 ]

When using publicly available tools like 'mdio-tools' to read/write data
from/to network interface and its PHY via C45 (clause 45) mdiobus,
there is no verification of parameters passed to the ioctl and
it accepts any mdio address.
Currently there is support for 32 addresses in kernel via PHY_MAX_ADDR define,
but it is possible to pass higher value than that via ioctl.
While read/write operation should generally fail in this case,
mdiobus provides stats array, where wrong address may allow out-of-bounds
read/write.

Fix that by adding address verification before C45 read/write operation.
While this excludes this access from any statistics, it improves security of
read/write operation.

Fixes: 4e4aafcd ("net: mdio: Add dedicated C45 API to MDIO bus drivers")
Signed-off-by: default avatarJakub Raczynski <j.raczynski@samsung.com>
Reported-by: default avatarWenjing Shan <wenjing.shan@samsung.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent b02d9d27
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment