Description
In the Linux kernel, the following vulnerability has been resolved: net: ethernet: xscale: Check for PTP support properly In ixp4xx_get_ts_info() ixp46x_ptp_find() is called unconditionally despite this feature only existing on ixp46x, leading to the following splat from tcpdump: root@OpenWrt:~# tcpdump -vv -X -i eth0 (...) Unable to handle kernel NULL pointer dereference at virtual address 00000238 when read (...) Call trace: ptp_clock_index from ixp46x_ptp_find+0x1c/0x38 ixp46x_ptp_find from ixp4xx_get_ts_info+0x4c/0x64 ixp4xx_get_ts_info from __ethtool_get_ts_info+0x90/0x108 __ethtool_get_ts_info from __dev_ethtool+0xa00/0x2648 __dev_ethtool from dev_ethtool+0x160/0x234 dev_ethtool from dev_ioctl+0x2cc/0x460 dev_ioctl from sock_ioctl+0x1ec/0x524 sock_ioctl from sys_ioctl+0x51c/0xa94 sys_ioctl from ret_fast_syscall+0x0/0x44 (...) Segmentation fault Check for ixp46x in ixp46x_ptp_find() before trying to set up PTP to avoid this. To avoid altering the returned error code from ixp4xx_hwtstamp_set() which before this patch was -EOPNOTSUPP, we return -EOPNOTSUPP from ixp4xx_hwtstamp_set() if ixp46x_ptp_find() fails no matter the error code. The helper function ixp46x_ptp_find() helper returns -ENODEV.
Product status
9055a2f591629b952910503e72ddae1371c44bf1 (git) before 144dde3146985b25fa84d4e4b7c3d11e0f5fc5a4
9055a2f591629b952910503e72ddae1371c44bf1 (git) before 5195b10c34b8993194ad12ad7d8f54d861be084b
9055a2f591629b952910503e72ddae1371c44bf1 (git) before 322437972f0a712767f6920ad34aba25f2e9b942
9055a2f591629b952910503e72ddae1371c44bf1 (git) before 21d1e80d0d6e7d0c3cd8b1e001ed1fa92fb9f3f5
9055a2f591629b952910503e72ddae1371c44bf1 (git) before 2d74412dfd3621552a394d55cc3dd26a7cbf608e
9055a2f591629b952910503e72ddae1371c44bf1 (git) before cbecebd35909f6cd0f6fb773f0fb73da99e02f8c
9055a2f591629b952910503e72ddae1371c44bf1 (git) before 594163ea88a03bdb412063af50fc7177ef3cbeae
5.15
Any version before 5.15
5.15.202 (semver)
6.1.165 (semver)
6.6.128 (semver)
6.12.75 (semver)
6.18.16 (semver)
6.19.6 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/144dde3146985b25fa84d4e4b7c3d11e0f5fc5a4
git.kernel.org/...c/5195b10c34b8993194ad12ad7d8f54d861be084b
git.kernel.org/...c/322437972f0a712767f6920ad34aba25f2e9b942
git.kernel.org/...c/21d1e80d0d6e7d0c3cd8b1e001ed1fa92fb9f3f5
git.kernel.org/...c/2d74412dfd3621552a394d55cc3dd26a7cbf608e
git.kernel.org/...c/cbecebd35909f6cd0f6fb773f0fb73da99e02f8c
git.kernel.org/...c/594163ea88a03bdb412063af50fc7177ef3cbeae