From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; dkim=pass header.d=mojatatu.com header.i=@mojatatu.com header.a=rsa-sha256 header.s=google header.b=LYZAhaon; arc=none (Message is not ARC signed); dmarc=none Received: from mail-qv1-xf33.google.com (mail-qv1-xf33.google.com [IPv6:2607:f8b0:4864:20::f33]) by mail.toke.dk (Postfix) with ESMTPS id F3BD5185F860 for ; Mon, 19 Oct 2026 18:00:49 +0200 (CEST) Received: by mail-qv1-xf33.google.com with SMTP id 6a1803df08f44-91ba702cceaso27578766d6.0 for ; Mon, 19 Oct 2026 09:00:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mojatatu.com; s=google; t=1792425648; x=1793030448; darn=lists.bufferbloat.net; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=OLNQJwDVyvERst+Yg4jAyoV+SS5hTnZCgYBGqPPDnM8=; b=LYZAhaonpJdLhtHVVE5GA6kKwU+0QKii3Wx3eO3O8+prnCJfMWrg5uth/xnWpxWjaM XSQechwLzQcjG/7e5dSSW+Jjlx0bd8Jfyw3iw0x5m1Dge4xyY7apQfK4l6O0T7ATj47f CJMz9rbfYnBcyJbOXMGGBw+D5KYiV/kim94ZE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792425648; x=1793030448; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=OLNQJwDVyvERst+Yg4jAyoV+SS5hTnZCgYBGqPPDnM8=; b=fh6vn+VPxsDyM1ZPJFude5EVIPW6DgE6/yJ/JkljuGdH4hFArKwMiBGMlvAUzFAVEX dVOE/3IrbjDjYPr2pUQ7wmZhVkHGcN5sxmSYqSdsPt/abkgNKUIzqY1RX251tDn1/MnN fE5YoVJLi342vv8CBRJzqiMrv9nKLHS4dwRDYXTQfrE6+Z/MhrcOyTfSF9wz9cxtfKWI ofxtxWagEZsTewg6gtt0Vl9E1MgGoXqOOF2fRcDYhIZ4Szg3F1BnBTFnexYUB/4B2Lpt BjqWJSFhB2AHNhx4LXKCeMTbkD39MnnfIo8+rTp/x59GNiosESNeFWIzonBAIKWn+hvu l9Rw== X-Forwarded-Encrypted: i=1; AKwUvBy7PNrhOBAy6OMQ/99BwmyeN03bBimt0Yelssr9t67VY5GGW5h28gFsY4JdxQPZuRZ2fbFD@lists.bufferbloat.net X-Gm-Message-State: AFq9FYIJm6FSHGtHk+gIOTriybO9QkyDZHRUpDbBCsZvy0vPSYmeQQKc NWzoPwltkt7hswrDPN7vGrXSmoZXgYQtia14dOWOWToQBg9WdhZbRbFArCVMWW39Ig== X-Gm-Gg: AYBFou09nNFiPOZ7TCq+2370iJeJftMjDahZItAkKx1gxrnwm9g4RD3OXWJjATbdIZk 5irHK58tAgz8ZKp1eJXVjeJfE3cwUmxPtlKw99Ewusy54UG9qSOqQoXo0d4R80l41N+QqH0kn9K nVc0b76rzGI/1ZJ9vvPeQXWQ4RZgdcQ11r8eiCvblBfv+VBZXIc7svDU+53AfgLvvyOaYpebaQ5 fokY0jSkTxTrmsMHHC8hoMCx6A5sMb7VRPBvdLn8PXJh4aiGrnkl5NgpliZGQJGqxaLFqcbjIFK WS0If1XH3HcMr3vodrx8oSvEbrDMHJsFft/GPpeaL1MeyUzuvYtPGwToJ7tVzLcNFW4vxmHUhNR 9JmM9Vt8NcTxOYMEXmoCGeJnFO57KHMQUTl0j3EeqTEqQsOFml2GqGPTlibfel0XeDAbU5kBX3n x8MuH1iOdiWIGHDRASTi/TLx8y8paZXe3Kigj/8ebifqRYC3a2DBUDkc41BS1ZfsztK3lltJSrt IRxKFltEAJQ2scii7IzUPCR+8JqRkACx5ZIu6VN6BCv X-Received: by 2002:a05:6214:5193:b0:915:eacb:cb90 with SMTP id 6a1803df08f44-91bdec33e56mr132243606d6.5.1792425646912; Mon, 19 Oct 2026 09:00:46 -0700 (PDT) Received: from mbili.waya ([64.203.83.2]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-91be9d8acb5sm64846846d6.0.2026.10.19.09.00.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Oct 2026 09:00:46 -0700 (PDT) From: Jamal Hadi Salim To: netdev@vger.kernel.org Cc: Jamal Hadi Salim , Jiri Pirko , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Victor Nogueira , =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , cake@lists.bufferbloat.net, Sashiko Date: Mon, 19 Oct 2026 12:00:33 -0400 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: WYQ32ZNXG5JMFD25AF6TSOZV5TWGMP6A X-Message-ID-Hash: WYQ32ZNXG5JMFD25AF6TSOZV5TWGMP6A X-MailFrom: jhs@mojatatu.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Subject: [Cake] [PATCH net-next v7 2/4] net/sched: cake: use a dedicated split-GSO list iterator List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: skb_list_walk_safe(segs, segs, nskb) reuses the list head as the walk cursor, so segs no longer names the segment list once the walk finishes. Use a separate seg cursor to keep the head and the walker distinct. No behaviour change. Reviewed-by: Victor Nogueira Signed-off-by: Jamal Hadi Salim --- net/sched/sch_cake.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/net/sched/sch_cake.c b/net/sched/sch_cake.c index 6432d10c992e..0d13c4b0bfe3 100644 --- a/net/sched/sch_cake.c +++ b/net/sched/sch_cake.c @@ -1810,7 +1810,7 @@ static s32 cake_enqueue(struct sk_buff *skb, struct Qdisc *sch, WRITE_ONCE(b->max_skblen, len); if (qdisc_pkt_segs(skb) > 1 && q->config->rate_flags & CAKE_FLAG_SPLIT_GSO) { - struct sk_buff *segs, *nskb; + struct sk_buff *segs, *nskb, *seg; netdev_features_t features = netif_skb_features(skb); unsigned int slen = 0, numsegs = 0; @@ -1818,19 +1818,19 @@ static s32 cake_enqueue(struct sk_buff *skb, struct Qdisc *sch, if (IS_ERR_OR_NULL(segs)) return qdisc_drop(skb, sch, to_free); - skb_list_walk_safe(segs, segs, nskb) { - skb_mark_not_on_list(segs); - qdisc_skb_cb(segs)->pkt_len = segs->len; - qdisc_skb_cb(segs)->pkt_segs = 1; - cobalt_set_enqueue_time(segs, now); - get_cobalt_cb(segs)->adjusted_len = cake_overhead(q, - segs); - flow_queue_add(flow, segs); + skb_list_walk_safe(segs, seg, nskb) { + skb_mark_not_on_list(seg); + qdisc_skb_cb(seg)->pkt_len = seg->len; + qdisc_skb_cb(seg)->pkt_segs = 1; + cobalt_set_enqueue_time(seg, now); + get_cobalt_cb(seg)->adjusted_len = cake_overhead(q, + seg); + flow_queue_add(flow, seg); qdisc_qlen_inc(sch); numsegs++; - slen += segs->len; - q->buffer_used += segs->truesize; + q->buffer_used += seg->truesize; + slen += seg->len; WRITE_ONCE(b->packets, b->packets + 1); } -- 2.43.0