CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's handling of Ethernet statistics in the TI ICSSG driver, where the function `icssg_ndo_get_stats64()` improperly accesses performance analysis (PA) statistics without verifying their presence on the hardware. This results in excessive logging of errors and corrupts network statistics, leading to inaccurate reporting of packet errors and drops. Network administrators and developers working with affected Linux kernel versions should prioritize addressing this issue to ensure accurate network performance monitoring and reduce unnecessary log clutter.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: net: ethernet: ti: icssg: guard PA stat lookups icssg_ndo_get_stats64() unconditionally calls emac_get_stat_by_name() with FW PA stat names regardless of whether the PA stats block is present on the hardware. emac_get_stat_by_name() already guards the PA stats lookup with `if (emac->prueth->pa_stats)`; when that pointer is NULL the lookup falls through to netdev_err() and returns -EINVAL. Because ndo_get_stats64 is polled regularly by the networking stack this produces thousands of log entries of the form: icssg-prueth icssg1-eth end0: Invalid stats FW_RX_ERROR A secondary consequence is that the int(-EINVAL) return value is implicitly widened to a near-ULLONG_MAX unsigned value when accumulated into the __u64 fields of rtnl_link_stats64, silently corrupting the rx_errors, rx_dropped and tx_dropped counters reported by `ip -s link`. Every other PA-aware code path in the driver is already guarded with the same `if (emac->prueth->pa_stats)` check. Apply the same guard here.