diff options
author | Tirthendu Sarkar <[email protected]> | 2023-10-19 13:38:52 -0700 |
---|---|---|
committer | Jakub Kicinski <[email protected]> | 2023-10-20 18:17:11 -0700 |
commit | 068d8b75c1aee153193522211ace6c13c21cd16b (patch) | |
tree | c3072cf9ea36a07acb9caaf4eaddbe1c74b6fd95 /net/ipv4/tcp_input.c | |
parent | e7684d29efdf37304c62bb337ea55b3428ca118e (diff) |
i40e: sync next_to_clean and next_to_process for programming status desc
When a programming status desc is encountered on the rx_ring,
next_to_process is bumped along with cleaned_count but next_to_clean is
not. This causes I40E_DESC_UNUSED() macro to misbehave resulting in
overwriting whole ring with new buffers.
Update next_to_clean to point to next_to_process on seeing a programming
status desc if not in the middle of handling a multi-frag packet. Also,
bump cleaned_count only for such case as otherwise next_to_clean buffer
may be returned to hardware on reaching clean_threshold.
Fixes: e9031f2da1ae ("i40e: introduce next_to_process to i40e_ring")
Suggested-by: Maciej Fijalkowski <[email protected]>
Reported-by: [email protected]
Reported by: Solomon Peachy <[email protected]>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217678
Tested-by: [email protected]
Tested by: Indrek Järve <[email protected]>
Signed-off-by: Tirthendu Sarkar <[email protected]>
Tested-by: Arpana Arland <[email protected]> (A Contingent worker at Intel)
Signed-off-by: Jacob Keller <[email protected]>
Acked-by: Maciej Fijalkowski <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/ipv4/tcp_input.c')
0 files changed, 0 insertions, 0 deletions