Thread (3 messages) 3 messages, 2 authors, 2026-01-06

Re: [PATCH net v2] net: dlink: mask rx_coalesce/rx_timeout before writing RxDMAIntCtrl

From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-01-06 00:58:55
Also in: lkml

On Sat,  3 Jan 2026 18:29:05 +0900 Yeounsu Moon wrote:
RxDMAIntCtrl encodes rx_coalesce in the low 16 bits
and rx_timeout in the high 16 bits. If either value exceeds
the field width, the current code may truncate the value and/or
corrupt adjacent bits when programming the register.

Mask both values to 16 bits so only the intended fields are written.
Realistically IDK if this is worth it.

Paolo suggested in discussion on v1 that error checking could introduce
a regression. If we take that concern seriously we can't change the
(buggy) behavior at all.

That said the overflow is on frames, for values > 64k and the ring is
256 so IDK how high values could possibly work here in the first place.

Given this driver is using module params to configure coalescing I'd
just leave this mess be. If you add ethtool configuration for
coalescing make sure to correctly bound-check it.
-- 
pw-bot: reject
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help