diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2026-09-18 11:53:26 -0700 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2026-09-22 13:31:14 +0200 |
| commit | 242ebf4c51148d5202b9c57841082c44c4284082 (patch) | |
| tree | bc4ac37212e83ebd24a02c4e6e02ca36e61af704 /include/linux/debugobjects.h | |
| parent | e3624f5eeac40e2f95e54e5ed684222438d56e23 (diff) | |
net: dsa: mv88e6xxx: check the port when deleting a policy rule
ETHTOOL_SRXCLSRLDEL removes the policy the location names out of the
switch-wide IDR without checking which port owns it, then hands it to
mv88e6xxx_policy_apply() along with the port the request arrived on.
Deleting another port's rule therefore purges an ATU entry on and clears
the policy register of the requesting port, while the owning port keeps
its hardware policy - and, with the software object freed, no longer has
a location that can be used to remove it.
Initially I thought that we're just able to delete a rule from one port
using another port as a handle. But if the reading of the code outlined
above is correct, this is just broken, not a "feature" someone could
depend on.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Link: https://patch.msgid.link/20260918185326.3940857-3-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions
