diff options
author | 2025-05-20 21:46:42 +0300 | |
---|---|---|
committer | 2025-05-21 20:44:21 -0700 | |
commit | 01e035fd0380b285d72725adb5a45f1d73549db8 (patch) | |
tree | 9939fd07e24b934292931a7c0e912b6aa5d20a5a /net/unix/af_unix.c | |
parent | net/mlx5: HWS, fix typo - 'nope' to 'nop' (diff) | |
download | wireguard-linux-01e035fd0380b285d72725adb5a45f1d73549db8.tar.xz wireguard-linux-01e035fd0380b285d72725adb5a45f1d73549db8.zip |
net/mlx5: HWS, handle modify header actions dependency
Having adjacent accelerated modify header actions (so-called
pattern-argument actions) may result in inconsistent outcome.
These inconsistencies can take the form of writes to the same
field or a read coupled with a write to the same field. The
solution is to detect such dependencies and insert nops between
the offending actions.
The existing implementation had a few issues, which pretty much
required a complete rewrite of the code that handles these
dependencies.
In the new implementation we're doing the following:
* Checking any two adjacent actions for conflicts (not just
odd-even pairs).
* Marking 'set' and 'add' action fields as destination, rather
than source, for the purposes of checking for conflicts.
* Checking all types of actions ('add', 'set', 'copy') for
dependencies.
* Managing offsets of the args in the buffer - copy the action
args to the right place in the buffer.
* Checking that after inserting nops we're still within the number
of supported actions - return an error otherwise.
Signed-off-by: Vlad Dogaru <vdogaru@nvidia.com>
Signed-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/1747766802-958178-5-git-send-email-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions