From nobody Fri Jul 24 21:52:58 2026 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 B013741D20C for ; Fri, 24 Jul 2026 10:09:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784887744; cv=none; b=Q+CRBP7WFSXQqLsubC6MQHv4UL73SU6zCbUwKM/knizji6GBWyavlIZzfnpsm8jGWil/AEEs1Y3EmpxQwW974WF5NuLyoXq9a1sGI6XBzFOaGaFp4ZlF4gOQ+OuP3EH1gB7Fw3aBM70MEqsp6RbIB4ySi0TIFNBd4dRedtLgrvw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784887744; c=relaxed/simple; bh=ClJkwdr4rZBNNvHW63KM0qG/lIi8+S689RV7uQKY9Nw=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=WwGXBrg67EaalsoKhvYF9a//ENLB0vhCDu+V4eNxqXc7xYONrvaKuEsLP8TfiVi1AIBy6zr0Y+jHlxez/jQe7E6taAcGzEIaY8FiY9TFfIcbx6SHIMUbdHJmfXqOHixOq7GGkFfEX93T7tNIEt6XcChQYizbgomO3r9TThFgVzE= 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=BUVgtTi6; arc=none smtp.client-ip=209.85.214.171 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="BUVgtTi6" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2cea3004256so3546645ad.0 for ; Fri, 24 Jul 2026 03:09:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784887742; x=1785492542; 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:content-type; bh=KzhlHn5bk5IOC8WXzw9OkBpAQC409hC1IeVcT5n4rkk=; b=BUVgtTi67GyKSy8tbpU4WNlhqNSSWuJyfCikWzksIpTqxYehtYPiAB/zSnEeBENUYW rlFHMZCWuyk4a8CVVpiUi4AL8P2cxEz9W8XIXf22uY7olvtECHVVhWkCGPVJZdPRjl9j DjnTmsw+39wrRXUUbBwpEfP9Syzxyc5XJyOptFO9mgQdZO3Q0jiYy2gaJWqI1EuFp8n6 LJ0RfGb3jl8YlR/6IKkAEe+AKMjAOPLlRemD/MsOiSZEjN0Pqwo9DnKcWbcyftxIforB q4K/afF5GJSw8mP+9SyDC6ewz6DLCZkCsBcBP+osSEEBkRPYz3vrqXuCj6NU3UdKCDff gBLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784887742; x=1785492542; 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:content-type; bh=KzhlHn5bk5IOC8WXzw9OkBpAQC409hC1IeVcT5n4rkk=; b=QTG8v2omwU7pTfosDAWHbeg8c95a+GoHa7u14MhvfuTra/n3pMqhAQ8ldA0Kimb5Yp 85e44V0Zw90r36klk983EF56f1Tpgn5vWMjuKgcyh2o/I/YgvSDsBu0CUJFanT+zq9eG pEOJk0Cqn9tXCygvXpOCdmFwqVI4FTj+UjJlqx4UNLrpwMoVcQhhvEZludJTeIB39zuF GiYwADlcSvb0xdACKSqA4CwYF9rbn8D6GgcYGKnsfSD7QzqVWkRN/1Tdj3wAG/H+tHDK Y/XCq3/VEehAbbaMaHfIyZ9ZpaP/kDDgStaAKernt8WGK2K+0ZiqDu/HG4EkqJvvkegb QGNw== X-Forwarded-Encrypted: i=1; AHgh+RpBwwXmvSFPSYTWcU+mGZ8st4C86X4AWTMbBJR7JFsSjQCVvRvs1cDFxA0MpKNISmepp/LlEjsXm3o4OM4=@vger.kernel.org X-Gm-Message-State: AOJu0YwM6D46tB3hofGJale0Ca01L3OeNE61BaeexQtYj3/dpyEDNXFF 5phdXo+WGeNDLuY1OVzHAJYFaa7kJwFv6bb6F+DNgKGDs0M5Va3Ye+k= X-Gm-Gg: AR+sD10agQAIRDehCocKWQLiZgGhh+qD3gX81wSoiIC/Egd38f4gPYPoPn13soaI8mN nWwvHm5vZ+gCSbOrii9PJtQODfLoWqwEqVDrUExXneLKPVlYCuKS2E0wYWMmyc3ZHfA3QyiU6WW h+RpdrmuRLoA0O653HBUle45zztL8jkFIgOCBR679zlv5z+D5nwMOuvh80d0mS58FP6fxujlpk3 r+5RhwaIVSUFBPsyajzLT53uOuYXly/nKRCQ22VxzSpp90FQow/d2CxvHkD3YvYTihWDvDy5LhG fZNuwXPBMH0IFuMX4TIZAMSrZMD6zUq1liSPVBh3b2rIL6imbyEcwMXJ2jXn3PzmlzaHKNC6vph mhhY1wRdZziwP/dRj88CXjrcaINJ6wwly9LEn2qPBNXZsfvgAOz2xVmb7JsZiRq/mwQ9qawdvJD t8tgq3UhUzracqqlRmEK9K4LtUKn8JJj9he8Bm/Q== X-Received: by 2002:a05:6a21:338e:b0:3c4:397a:69ba with SMTP id adf61e73a8af0-3c44affe1dcmr7532992637.28.1784887741988; Fri, 24 Jul 2026 03:09:01 -0700 (PDT) Received: from localhost.localdomain ([117.247.186.207]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3147dc193f8sm47957715eec.1.2026.07.24.03.08.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jul 2026 03:09:01 -0700 (PDT) From: Mohammed Hashil M X-Google-Original-From: Mohammed Hashil M To: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Mohammed Hashil M Subject: [PATCH] macvlan: inherit needed_headroom/needed_tailroom from lower device Date: Fri, 24 Jul 2026 15:38:32 +0530 Message-Id: <20260724100832.59153-1-mohammed.hashil@dicortech.com> X-Mailer: git-send-email 2.34.1 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" macvlan_init() copies several properties from the lower device onto the macvlan netdev (dev->features, dev->vlan_features, dev->hard_header_len, TSO limits) but never copies needed_headroom or needed_tailroom. When the lower device declares extra needed_headroom/needed_tailroom (e.g. because it must prepend/append its own hardware encapsulation before a packet reaches the wire), a macvlan built on top of it does not reserve that space. Depending on the lower driver, this can cause outgoing packets to be silently dropped instead of forwarded, since the driver xmit path finds insufficient headroom and has no fallback to reallocate. Fix this the same way vxlan already does for the same class of issue (commit 0a35dc41fea6 ("vxlan: Add needed_headroom for lower device")): copy needed_headroom and needed_tailroom from the lower device in macvlan_init(), alongside the existing hard_header_len copy. Signed-off-by: Mohammed Hashil M --- drivers/net/macvlan.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 9a4bc99dbf53..70219011fcb2 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -954,6 +954,8 @@ static int macvlan_init(struct net_device *dev) dev->lltx =3D true; netif_inherit_tso_max(dev, lowerdev); dev->hard_header_len =3D lowerdev->hard_header_len; + dev->needed_headroom =3D lowerdev->needed_headroom; + dev->needed_tailroom =3D lowerdev->needed_tailroom; macvlan_set_lockdep_class(dev); =20 vlan->pcpu_stats =3D netdev_alloc_pcpu_stats(struct vlan_pcpu_stats); --=20 2.34.1