From nobody Sat Feb 7 18:21:06 2026 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0FA96207A09 for ; Mon, 22 Dec 2025 06:13:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766383999; cv=none; b=aFRqmWUuZyAz6dLUBRm9I4P7o1AnktsjCRkuZKatA2NnfZWxFdDgyifSe+/zjNPo5jd6psWLzoIKQ7ZHhrvFeXyulGEdDvlUjFQccsYyJTfYsWqBE9cxjM8B6zXCWckR0Rl3c1BYp21at0ZJWw/SWsHONgP4545dEtmcSihPgUE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766383999; c=relaxed/simple; bh=dcMfJF0tfihPZgBMo5BBEeuPQtcGmMrTlcKB8HaQNso=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=nXx8rpP7hIm+wzXM8P5+W6lClqKgtlCk/GSMcxKOKVUC5A7ngQYfNx3K7z6H573j+zjDifHi13Dx28/snveUv0Oopd/N9K8j9fdp9qNoPdT+M7cAlG9PnAqYFp3GQqQBKvg+8PgY96w4aDqHEAQ/fP1Br0ZcP87o2HEfYVmeYGA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hIoDhPWz; arc=none smtp.client-ip=209.85.214.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hIoDhPWz" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-2a0d67f1877so45158625ad.2 for ; Sun, 21 Dec 2025 22:13:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766383997; x=1766988797; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=3S4jAgS6Y3OH5s26cfxtt4FgF9TFQpYXvTl4gwzt3WM=; b=hIoDhPWz5jKGkn4gif9iQmmoeP3Bc1PbqPAPPAdiI6moHcTMpwvJX0/28RCtupLwgg bcGsYyt8Pw0dKiE2wJNJi+rhxlIBn59KVW1nK5g+Tns7QdF2r4yZu/CsS1zkjNQvXN9w BnNR7fJsrRaRReeIaf0sCorpgZ9oJQ3AbGfNdsVMTaKxm6xb2bChcvi5l5XURktJ6o6d BI2iEdgPxZPY2gR26J/tlgaRR6VftTwUvp/76WA/K5/JVwbJ0hvt2dCWMUc7wmcL6cal 7JUJe+mWcVFIqrDzBkOrri67Zhotqs+1WKj0TjNYJjuvmfsmnk5mV1fgQX7tbCL3Ywvl Hakw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766383997; x=1766988797; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=3S4jAgS6Y3OH5s26cfxtt4FgF9TFQpYXvTl4gwzt3WM=; b=hgHWCUfOfBBP4qI8l1i9D2KnnL9tF3Sw3LkbSVhBmRgkL4qOd5sjF5muBsyFkT7Ygs z045NCSph6wuRx9aHRJCSZ7XRsn8mq/0itdPxAO+X0qvTN3jHRLQi1jW4PJpCXTKx/J/ hU8GiBVbC0qFyBKxSxlBjs/PYo0V9f4KZJudWDqjcsrOiyVAihPc0+v/7Qo+vUYY+L+f 3fiKPsv7OWrsPfXcSebkmtX5V891ECuT58RpBGKHj+uxGArqGoNFpm+XghuRNsalHxwB fWffzb0pAZT8wbQMVgmSXZ/BeXAYWJTf0AQtpm9NKDyWekhvxZDxqEHMo7s0+MHrnuEJ rY1g== X-Forwarded-Encrypted: i=1; AJvYcCX3/yAB/XPlfrsqOXVuGwz/Tq5suePGiDDr5aIWVGhSlHPIar0vDZLXZfNuz36T6fISVe9r05luXfE29sM=@vger.kernel.org X-Gm-Message-State: AOJu0YwgAxTXoLvdAWI/pZIowSVX1NJYMNem6QFvT/lRa/idjjKjycE3 M3ED4DL/g7kr6wj7d/RkgKNhIK0xUd8FHDqtc8EXuLaDDGP387/wcfD7 X-Gm-Gg: AY/fxX5RvkqZDfY3yV3xRFm7mzTk7wMBnzupUTYZ9N51zpXPYf1VTv5X97PIscVITZS pxv0Uf33P+L1Mz4CPMd2GKjrcX4T9E4P8oWEg6APIzg69UiIOdHCPonyIjxdQQEbww328OHsX7Z Typ6fyymMrLoFO9JjXJk/pydORc015tYhN7M+hoJbF8yTuG8Ng0+/JeWFLSCZPM05CHLJA1fiMI EMYBF+hnFlDGNdkK8EGElOT7kWq9bgs+uY1CfkIEHhkcvyovXjVCH9irNE5I62QcPjAF8Ltd1Ls lso9IH3iHM1tcqQkIpV7ZaMD2o9eVkoJzXAMoMyth5mzvoES3a7hH1cH3d0gla1YH2zn7wsEuf1 oplmu9VSt6aBxGA4fVuwYoTAlboisvKK8LAtXmxDtOqkl410ZfDon9J2UKiENGlh9bI5shWX+U4 zSGd7tIQ== X-Google-Smtp-Source: AGHT+IFm4l8dcKmr0PiWYkDopuxXg0BxrY4X6KsefFxFPAmT83JBEAf3V2esc+K5Zqovpr54R5R52w== X-Received: by 2002:a17:903:41cd:b0:298:55c8:eb8d with SMTP id d9443c01a7336-2a2f272bd8fmr96236925ad.35.1766383997351; Sun, 21 Dec 2025 22:13:17 -0800 (PST) Received: from lmao.. ([2405:201:2c:5868:68b9:5b3c:f13:3fb2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3c82ab4sm86453845ad.32.2025.12.21.22.13.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Dec 2025 22:13:16 -0800 (PST) From: Manas To: stephen@networkplumber.org Cc: jhs@mojatatu.com, xiyou.wangcong@gmail.com, jiri@resnulli.us, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, horms@kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Manas Subject: [PATCH v2] net/sched: Fix divide error in tabledist Date: Mon, 22 Dec 2025 11:43:06 +0530 Message-ID: <20251222061306.28902-1-ghandatmanas@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Previously, a duplication check was added to ensure that a duplicating netem cannot exist in a tree with other netems. When check_netem_in_tree() fails after parameter updates, the qdisc structure is left in an inconsistent state with some new values applied but duplicate not updated. Move the tree validation check before modifying any qdisc parameters v1 -> v2: Fix whitespace --- net/sched/sch_netem.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index 32a5f3304046..1a2b498ada83 100644 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c @@ -1055,6 +1055,11 @@ static int netem_change(struct Qdisc *sch, struct nl= attr *opt, q->loss_model =3D CLG_RANDOM; } =20 + ret =3D check_netem_in_tree(sch, qopt->duplicate, extack); + if (ret) + goto unlock; + q->duplicate =3D qopt->duplicate; + if (delay_dist) swap(q->delay_dist, delay_dist); if (slot_dist) @@ -1068,12 +1073,6 @@ static int netem_change(struct Qdisc *sch, struct nl= attr *opt, q->counter =3D 0; q->loss =3D qopt->loss; =20 - ret =3D check_netem_in_tree(sch, qopt->duplicate, extack); - if (ret) - goto unlock; - - q->duplicate =3D qopt->duplicate; - /* for compatibility with earlier versions. * if gap is set, need to assume 100% probability */ --=20 2.43.0