From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=95.215.58.105 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793098064; b=rIXpupNoeILILO2fVKUXZrgPYwIEORTH1cc+B8mICRoOfzjvTebrWXxuxKiwiUv4WYje lj/ZJAEFPUTuO4m7plvkYdx1BVDo5NyMoIhd59GC10NIi1kJ3DMyliPswptIwmBJTz+ad 69yJexwExpPqmnBN3qlnejb1o72Etnyjmdo/nBsPtinrN9bnX85DFyFJvABTbmHPo9bU9 uUWRr57WerqIdVxdSnjjENu0QiaTA+1JJu7+LRFhWKkMFJnm/ImakTT2GCO7WUBd0BYXr QwFCXE/haPxJzBOHJshmhFVeooohzhbbIAVrAZ2fgciKjfMHf9/4xEkfbGZBEmzkByA== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793098064; h=DMARC-Filter:X-Envelope-To:DKIM-Signature:X-Envelope-To:Received: X-Mizu-Trace-ID:X-Migadu-Flow:From:To:Cc:Subject:Date:Message-ID: X-Mailer:MIME-Version:Content-Transfer-Encoding; bh=qwOP/ChYXyQgeHq4JGO8UPM3SSS01nblW3EU8Z0OF+I=; b=MDD5gPMCV0jCXXYIKiaAjWk2Vq21VpoqjcWK2DuD3+9iKzGOCj6AWXm1vAem60mdAFi+ RhJ8jEgn35neLlUAzqJfyGsvi2SaHtlimNB7oU4xUu5p/NPwr8zMUVrroxexK2+ilSKVr E7zXgLJbrGf9xvpXwWS6e5nMJWdFPfg4gPRjyC62nCEve1V3r1ograxGfkQqC8Xo9ISEx A9N+bR1Dfr16yMCp1Ueh/UzLAf+Z1nNvJdo8IWZ7h4+ytSwonZB4llAYZjzlqt0Fq8gNd Wf4rLolZh6wn+g3ZBoitctXTzik7GQBuaNaKoBFY64McWJIgxBD/V+3g7Z68RvxRrGQ== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass header.d=linux.dev header.i=@linux.dev header.a=rsa-sha256 header.s=key1 header.b=qoEGlURb; arc=none smtp.remote-ip=95.215.58.105 Received: from mta1.migadu.com (out-105.mta1.migadu.com [95.215.58.105]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEED6606A323 for ; Tue, 27 Oct 2026 10:47:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org BEED6606A323 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key, unprotected) header.d=linux.dev header.i=@linux.dev header.a=rsa-sha256 header.s=key1 header.b=qoEGlURb X-Envelope-To: netdev@vger.kernel.org DKIM-Signature: a=rsa-sha256; bh=p/T42mWw683F+K90Gg/h7jvsPmk0ttOQkRNGpJzra0I=; c=simple/simple; d=linux.dev; h=from:to:subject:date:message-id:mime-version:content-type; s=key1; t=1793098061; v=1; x=1793702861; b=qoEGlURbgPBtgeAvcYsj0jADbzPC1Tj+xt69JAtJOkj9nfUK+lpSkzId36Ln+ZJs6d7/ZGH6 mbELWaVN5ywpAwp6MOzO8fi5VPrF6yK/RcVjXbneNX3OvxPrYrViwXjF+6euM2slJI+IXn2VeZg 1Jssey2e1JUeeNhxhQ7cWL9Y= X-Envelope-To: netdev@vger.kernel.org Received: by smtp.migadu.com with ESMTPS id 4f2ce23dc9097964; Tue, 27 Oct 2026 10:47:41 +0000 X-Mizu-Trace-ID: 4f2ce23dc9097964 X-Migadu-Flow: FLOW_OUT From: Jiayuan Chen To: netdev@vger.kernel.org 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@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net v2 0/5] net: fix misc signed overflows caused by bad sysctl values Date: Tue, 27 Oct 2026 18:45:28 +0800 Message-ID: <20261027104701.296240-1-jiayuan.chen@linux.dev> X-Mailer: git-send-email 2.43.0 X-Mailing-List: netdev@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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