diff options
author | Amit Cohen <amcohen@nvidia.com> | 2022-01-27 11:02:25 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-01-27 19:19:58 -0800 |
commit | bcdfd615f83b4bd04678109bf18022d1476e4bbf (patch) | |
tree | bf2deab99b6519450a618c7bd31ac7efdb8835d7 /drivers/eisa | |
parent | 636d3ad238906742ac7bc96f05513327b3aa6e8f (diff) | |
download | linux-bcdfd615f83b4bd04678109bf18022d1476e4bbf.tar.bz2 |
mlxsw: spectrum: Guard against invalid local ports
When processing events generated by the device's firmware, the driver
protects itself from events reported for non-existent local ports, but
not for the CPU port (local port 0), which exists, but does not have all
the fields as any local port.
This can result in a NULL pointer dereference when trying access
'struct mlxsw_sp_port' fields which are not initialized for CPU port.
Commit 63b08b1f6834 ("mlxsw: spectrum: Protect driver from buggy firmware")
already handled such issue by bailing early when processing a PUDE event
reported for the CPU port.
Generalize the approach by moving the check to a common function and
making use of it in all relevant places.
Signed-off-by: Amit Cohen <amcohen@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/eisa')
0 files changed, 0 insertions, 0 deletions