From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f202.google.com (mail-qt1-f202.google.com [209.85.160.202]) (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 D88A217DFE7 for ; Fri, 3 Apr 2026 22:15:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775254545; cv=none; b=RIX5kwzliy8splu5bzfEOtz2HdaNvqnF5tMNJ7AXGLTgbzneJ9ZEWYF28baCAF/1mFiQfnW2qCDTu5mYgOvXE0IrJf6/mpa35mnoHQWhaFJ+x4+dXTjAK6TEBVWhaWHqggLXIGkaqV7gVC0u/TCF+ylqpBuT8XcJKbaOdC3Zu+A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775254545; c=relaxed/simple; bh=0udAjhnFYU4afdYUsRv8vgycMgT15YXMglute6d9rFw=; h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=YdFbkZZZyIClAaxpLti4vchpIHAH0jVLPGqpSk7XfGa4LoeLGIfvcU9Z3OmzZGAkePj1o2H7p5Uxmlc21XNsx5rrpaMdSEdHHDgSCIHWS3vsKmDxA7wbwKzM8jvD1pDiHe2p6HCig3p3SARkTZB22TN9TyWrjHmOF5pIDZlCPhg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--edumazet.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=F6G/3uZ+; arc=none smtp.client-ip=209.85.160.202 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--edumazet.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="F6G/3uZ+" Received: by mail-qt1-f202.google.com with SMTP id d75a77b69052e-50b4ca7e7c2so53706231cf.3 for ; Fri, 03 Apr 2026 15:15:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1775254543; x=1775859343; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=qH1ekF0/VZm9yHWr2xkmhdl6ZGFesDysg+5EoJKMA4U=; b=F6G/3uZ+e3R9TVeYAmJ6wqmO49eMsBruGFGDk3VOx08HZlKO0SBP1Dq+hh3KztYuJv DErDHvc2CGnTKRuyP63KmMi4Bc2llaWZc4ZhNFl1i7Sjqr47ZrcaJeFpDCv/V11CYtn6 rUYSPtv/QBVI7R0x9IfOpeGbcZ02YS/8rpi1UmoUBIxsVmVviV8GzUws5dgT8SQC3CLp pzDo/wtWmlhkQAiE74fG6Jf5dySd/iwWn1a4QG8YXtoOf7jAOQKJCitFQYq8tzGqj2MB rDe8gSMuMLJBtAaIM6K+RWIY61qeOFWI7T4hJwOqt4fl6pbo0yHUycCbz0Bf2LBTtZ3P Y12g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775254543; x=1775859343; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=qH1ekF0/VZm9yHWr2xkmhdl6ZGFesDysg+5EoJKMA4U=; b=QJehsAYQs+GCc2r2CHJX+GJYx5moaLjZ1DqCJjHr/rIt7/lX+zcV+KqwpE9ri3au7k gTpmqURWIXscwrqKM11Hot7b19+hEHratFQaGqJ0/nHKnFzhXWBeh2fX2Vl7p0jQBG8Z knh4S5SDf+Va45WCOoU5tS6Pfq2kiMsDnbGrii2PbRnW2wwTVrMowFAvSwBoCSMAtnJ4 RC3nQM/Nt6fwyZnxYdPoZfYTt93zysJihUlwJRQDeJO2p3z4Glg38dC/0KL+RPa6C79A EDa1++zXMxF6fOUyu5vbQTSar+wKqRVz2VdqflzZ0rRjuvOMpnFAPAyBZS7zG65QLNs2 1R9w== X-Forwarded-Encrypted: i=1; AJvYcCV3FfWxPQH4zVZxx2tKI+mNy3kRJENKfVZ3bLs81WMTr7quCzKPbOwgizGsKkTmAAcpt9coyEE=@vger.kernel.org X-Gm-Message-State: AOJu0Yy2GjrX6hZyVupLHXaAgGtPX3zHjzGCm6IAhpnPHFom2YUnKCv2 4jMVw8wmQzDvt2Okxhui0kQ3RQIJRkXbwUa1MrR8M7rRZJ+zB6bLahPjewfxLvEMTVXmwEf3xQ/ AuylKKb98/qO6aQ== X-Received: from qtnp22.prod.google.com ([2002:ac8:4616:0:b0:50b:8918:6af4]) (user=edumazet job=prod-delivery.src-stubby-dispatcher) by 2002:ac8:574a:0:b0:50b:4d80:ccbf with SMTP id d75a77b69052e-50d62b4e641mr74088961cf.21.1775254542254; Fri, 03 Apr 2026 15:15:42 -0700 (PDT) Date: Fri, 3 Apr 2026 22:15:38 +0000 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-Mailer: git-send-email 2.53.0.1213.gd9a14994de-goog Message-ID: <20260403221540.3297753-1-edumazet@google.com> Subject: [PATCH net-next 0/2] net: pull gso packet headers in core stack From: Eric Dumazet To: "David S . Miller" , Jakub Kicinski , Paolo Abeni Cc: Simon Horman , Andrew Lunn , Joe Damato , netdev@vger.kernel.org, eric.dumazet@gmail.com, Eric Dumazet Content-Type: text/plain; charset="UTF-8" Most ndo_start_xmit() methods expects headers of gso packets to be already in skb->head. net/core/tso.c users are particularly at risk, because tso_build_hdr() does a memcpy(hdr, skb->data, hdr_len); qdisc_pkt_len_segs_init() already does a dissection of gso packets. Use pskb_may_pull() instead of skb_header_pointer() to make sure drivers do not have to reimplement this. First patch is a small cleanup to ease second patch review. Eric Dumazet (2): net: qdisc_pkt_len_segs_init() cleanup net: pull headers in qdisc_pkt_len_segs_init() include/net/dropreason-core.h | 3 ++ net/core/dev.c | 81 ++++++++++++++++++++--------------- 2 files changed, 49 insertions(+), 35 deletions(-) -- 2.53.0.1213.gd9a14994de-goog