mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net v2 0/5] net: fix misc signed overflows caused by bad sysctl values
@ 2026-10-27 10:45 Jiayuan Chen
  2026-10-27 10:45 ` [PATCH net v2 1/5] ipv6: restrict gc_elasticity to 31 Jiayuan Chen
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Jiayuan Chen @ 2026-10-27 10:45 UTC (permalink / raw)
  To: netdev
  Cc: Jiayuan Chen, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Simon Horman, Jonathan Corbet, Shuah Khan,
	Randy Dunlap, David Ahern, Ido Schimmel, Joel Granados,
	Thomas Gleixner, Petr Pavlu, Kuniyuki Iwashima,
	Fernando Fernandez Mancera, Willem de Bruijn, Maoyi Xie,
	Zhan Xusheng, Jiri Wiesner, Oleg Nesterov, Chia-Yu Chang,
	Yung Chih Su, Wyatt Feng, Flavio Leitner, Hannes Frederic Sowa,
	Petr Mladek, Paul E. McKenney, linux-doc, linux-kernel

Recently I have reviewed quite a few fixes for variable overflows caused
by config values, i.e. a value set from sysctl, module params or netlink
that is accepted as valid but later overflows when it is used in a
calculation. I believe there are more of these still out there, so I
used an LLM to dig through the code and it found the issues fixed in
this series.

All of them have been reproduced and verified in QEMU.

v2:
 - gc_elasticity, mld_qrv, igmp_qrv: store the sysctl as u8 and use
   proc_dou8vec_minmax(), as suggested by Kuniyuki
 - docs: add the missing "Maximum: 255" to the mld_qrv and igmp_qrv
   entries in ip-sysctl.rst
 - message_cost: add proc_dointvec_jiffies_minmax() instead of a local
   handler, as Joel suggested
 - redirect_load: reject negative values as well
 - kept Fernando's Reviewed-by on gc_elasticity, mld_qrv and igmp_qrv:
   v2 narrows the storage type to u8, the fix itself is the same
v1: https://lore.kernel.org/netdev/20261023091419.167088-1-jiayuan.chen@linux.dev/

Jiayuan Chen (5):
  ipv6: restrict gc_elasticity to 31
  ipv4: fix shift-out-of-bounds in ip_rt_send_redirect()
  ipv6: restrict mld_qrv to 255
  ipv4: restrict igmp_qrv to 255
  net: restrict message_cost and message_burst to non-negative values

 Documentation/networking/ip-sysctl.rst        |  4 ++
 .../net_cachelines/netns_ipv4_sysctl.rst      |  2 +-
 include/linux/jiffies.h                       |  2 +
 include/net/ipv6.h                            |  2 +-
 include/net/netns/ipv4.h                      |  2 +-
 include/net/netns/ipv6.h                      |  2 +-
 kernel/time/jiffies.c                         | 40 +++++++++++++++++++
 net/core/sysctl_net_core.c                    |  6 ++-
 net/ipv4/route.c                              | 10 +++--
 net/ipv4/sysctl_net_ipv4.c                    |  4 +-
 net/ipv6/mcast.c                              |  2 +-
 net/ipv6/route.c                              |  7 +++-
 net/ipv6/sysctl_net_ipv6.c                    |  4 +-
 13 files changed, 70 insertions(+), 17 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-10-27 11:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-27 10:45 [PATCH net v2 0/5] net: fix misc signed overflows caused by bad sysctl values Jiayuan Chen
2026-10-27 10:45 ` [PATCH net v2 1/5] ipv6: restrict gc_elasticity to 31 Jiayuan Chen
2026-10-27 10:45 ` [PATCH net v2 2/5] ipv4: fix shift-out-of-bounds in ip_rt_send_redirect() Jiayuan Chen
2026-10-27 11:54   ` Fernando Fernandez Mancera
2026-10-27 10:45 ` [PATCH net v2 3/5] ipv6: restrict mld_qrv to 255 Jiayuan Chen
2026-10-27 10:45 ` [PATCH net v2 4/5] ipv4: restrict igmp_qrv " Jiayuan Chen
2026-10-27 10:45 ` [PATCH net v2 5/5] net: restrict message_cost and message_burst to non-negative values Jiayuan Chen
2026-10-27 11:56   ` Fernando Fernandez Mancera

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®