Re: [PATCH net] net: napi: Make napi_defer_irqs u32
From: Eric Dumazet <edumazet@google.com>
Date: 2024-09-02 17:01:01
Also in:
linux-doc, lkml
On Mon, Sep 2, 2024 at 6:29 PM Joe Damato [off-list ref] wrote:
On Mon, Sep 02, 2024 at 03:01:28PM +0200, Eric Dumazet wrote:quoted
On Sat, Aug 31, 2024 at 1:32 PM Joe Damato [off-list ref] wrote:quoted
In commit 6f8b12d661d0 ("net: napi: add hard irqs deferral feature") napi_defer_irqs was added to net_device and napi_defer_irqs_count was added to napi_struct, both as type int. This value never goes below zero. Change the type for both from int to u32, and add an overflow check to sysfs to limit the value to S32_MAX. Before this patch: $ sudo bash -c 'echo 2147483649 > /sys/class/net/eth4/napi_defer_hard_irqs' $ cat /sys/class/net/eth4/napi_defer_hard_irqs -2147483647 After this patch: $ sudo bash -c 'echo 2147483649 > /sys/class/net/eth4/napi_defer_hard_irqs' bash: line 0: echo: write error: Numerical result out of range Fixes: 6f8b12d661d0 ("net: napi: add hard irqs deferral feature") Cc: stable@kernel.org Cc: Eric Dumazet <edumazet@google.com> Suggested-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Joe Damato <redacted> ---I do not think this deserves a change to stable trees.OK, I can send any other revisions to -next, instead.quoted
Signed or unsigned, what is the issue ? Do you really need one extra bit ?I made the maximum S32_MAX because the practical limit has always been S32_MAX. Any larger values overflow. Keeping it at S32_MAX does not change anything about existing behavior, which was my goal. Would you prefer if it was U32_MAX instead? Or are you asking me to leave it the way it is?
I think this would target net-next at most, please lets avoid hassles for stable teams.