From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (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 624D139FCAD for ; Mon, 20 Apr 2026 13:07:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776690450; cv=none; b=WpizltNU0WyqPINJfORNKTU4FtKel8oU1QXJFsAlmAYax7Sfn46QOVaelVXGh8BOVfRMaU3Ic5WJHeuIUfaa56wD1ECdcYQEUJshyg4zenNDKzdj6n26pPv/tAd8xt60XaR1BsfBEsHGyyL1r5inGIaXv/layAaWT20kOGd0Lsw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776690450; c=relaxed/simple; bh=JLX0QIE+ZaB7zS+4hzCYPPCnUIvUgu+mL5VLldlw4/E=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=XYG8lQ+MbNgMRG+h6IXtrtBNstrKWk8kLCGSSkWnXQT4Vwvw83JUzi9JMGyKd+JUrf6nRAH8H2IbKnF+vTYmuZQJ3mOreHKTgqrHPm+HKOaaSd2UGfJJZRDb87ukqFPL5leWPdrlJ+1si6OxMhGuBn3ysn7aZNGDwcXDcQhc/QM= 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=ZmsK9UBN; arc=none smtp.client-ip=209.85.221.46 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="ZmsK9UBN" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-43fe8bda8e9so1463543f8f.1 for ; Mon, 20 Apr 2026 06:07:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776690445; x=1777295245; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=/Ag56mmJk7Zmpm+f5Y09lyaEBE2YSArv7z93rWOQIdM=; b=ZmsK9UBNEhonMgwHlY7RquBbKesfSJLglYPS0BN5a/HFrZzYxe+8PuUh4/t3/GwDeG U2qXfV2DGAdQ5k+/6c6Cybp+rK8OKQWgXh5BjCPE2zIJ5JvEaIkXBjnovWB07due+OX6 NQLsFmQeK3JRKi1Ok6+GqM5H+45fahWB82mdzIEliC2MwqpOzttmvim3XoG7yuzvsc4o WKCR28PLeNN0Jwvh/wW/L0/x9jY3C3bOFmhToRREM1MP0hoE0GMO1uGjH2E7RGmLn87T H2SbmU7TH30b1nFfPyu/IgVr2MD32U7aycsE8+aMVCUDxgfiIY9FCWyiWIDzAh+XmG3N iowg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776690445; x=1777295245; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/Ag56mmJk7Zmpm+f5Y09lyaEBE2YSArv7z93rWOQIdM=; b=bK6dPRbtKwhyzHyrzfdJAzjLtzozrhP70JTCC2k/OLu6TILH0tLk+NhjwC3I92JKuU k4AekujjYB8Y5MU6Mja+wwKT+DU+c4qOmgqgnzg3EVos7ra7cI4pds6uwvCAyA23646D MTp1HOqmEIglDy441Sld4cVRvsWo4oZaoURfD6koDn+kBnqyyykg5bKqmGG0d796NRt3 /GpYDlwj4yXxA8Rw3JC7eEfpJjRFZQtu7rdlcqYNKxvTUEklm+HhB/Pf/KajUUYfVt+m tPC6JiAhH26NkSw3KrRYftWPoY9l8+UPeaOwX/oGX0EyYhKpx4nG1193idkAiVWZOQF/ vm0A== X-Forwarded-Encrypted: i=1; AFNElJ8uivkE7FjZfbEFBDV+nXfh5mPj/LAuwZUH7qwUL83V0QWlnLnyCy/aa5B8Vl4esDl8wqyMyXg=@vger.kernel.org X-Gm-Message-State: AOJu0Yxv0corskmQMyTlr+1vhAyzUFadujDTdTAfaE+n9RP8OCC4pBSe BSWFv4uYp/CeDyHZa25yCqdeDQpTINv6Od7TXYJr86yuiliBfyOBxX8F X-Gm-Gg: AeBDiesiRVxUFFD+7gq6TH9tkNbSctk1RlW2Z9ghP4r5EnVTL/0yq63rGWKtoMhyr5L wKU3zk9eT97C5iC4WrCgyZdL1w0IOhK0e/qTHXvntCS9et1VFg1I1B3j/Tj3wLvumX99zQiwQbv YNyD4cRV/hYGLBIZyFx1RBhdf2n43yQuXR6CifidMNbL52GFuakhkIYwCGWYOKse12sRos+lwu3 EeIQv5QCOOeo3Rz18PiX7LW+AZPmWaOoKNAV20J8mT7kRTnPct2WF/YLatI4g/J41HoPbQD/oV4 sY89aYn105sQzgvSWRnCHLEDbgz1dla7vU6VilrdM1+xogCSeedYknxASJ/s94NWujYFzhqJxOn qcxkZtfoRekgo21wGNRAOcYbrpgVXu5eK6EpukcDVvECNpDDozXod7ND/8CTE/RxS/CHY7p+fKC XH2V1FnnU+dMaFfeuf+ZZmBxlfAc3/veD1gt6prZAQ5CvwavGRYya+3Ho4n0MqBloibw== X-Received: by 2002:a05:6000:4203:b0:43d:242:b9bb with SMTP id ffacd0b85a97d-43fe3dc5c80mr20542019f8f.18.1776690445002; Mon, 20 Apr 2026 06:07:25 -0700 (PDT) Received: from gmail.com (deskosmtp.auranext.com. [195.134.167.217]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43fe4e4d525sm28070324f8f.31.2026.04.20.06.07.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Apr 2026 06:07:24 -0700 (PDT) Date: Mon, 20 Apr 2026 15:07:22 +0200 From: Mahe Tardy To: bot+bpf-ci@kernel.org Cc: alexei.starovoitov@gmail.com, andrii@kernel.org, ast@kernel.org, bpf@vger.kernel.org, coreteam@netfilter.org, daniel@iogearbox.net, fw@strlen.de, john.fastabend@gmail.com, lkp@intel.com, martin.lau@linux.dev, netdev@vger.kernel.org, netfilter-devel@vger.kernel.org, oe-kbuild-all@lists.linux.dev, pablo@netfilter.org, martin.lau@kernel.org, eddyz87@gmail.com, yonghong.song@linux.dev, clm@meta.com, ihor.solodrai@linux.dev Subject: Re: [PATCH bpf-next v4 3/6] bpf: add bpf_icmp_send_unreach kfunc Message-ID: References: <20260420105816.72168-4-mahe.tardy@gmail.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Mon, Apr 20, 2026 at 11:36:15AM +0000, bot+bpf-ci@kernel.org wrote: > > diff --git a/net/core/filter.c b/net/core/filter.c > > --- a/net/core/filter.c > > +++ b/net/core/filter.c > > [ ... ] > > > +#if IS_ENABLED(CONFIG_IPV6) > > + case htons(ETH_P_IPV6): > > + if (code < 0 || code > ICMPV6_REJECT_ROUTE) > > + return -EINVAL; > > + > > + nskb = skb_clone(skb, GFP_ATOMIC); > > + if (!nskb) > > + return -ENOMEM; > > + > > + if (!skb_dst(nskb) && ip6_route_reply_fetch_dst(nskb) < 0) { > > + kfree_skb(nskb); > > + return -EHOSTUNREACH; > > + } > > Is the route lookup needed here? Looking at icmpv6_send() in > net/ipv6/icmp.c, it fills fl6.{daddr,saddr} and passes them to > icmpv6_route_lookup() which performs its own route lookup. The function > doesn't appear to use skb_dst() from the original skb: > > icmpv6_send() { > ... > fl6.daddr = hdr->saddr; > fl6.saddr = saddr; > ... > dst = icmpv6_route_lookup(net, skb, sk, &fl6); > ... > } > > The same applies to the IPv4 path with icmp_send(). Additionally, at > cgroup/egress the skb->_skb_refdst should already be set, and the same > should be true for cgroup/ingress for inet proto. > > Does the kfunc work without ip_route_reply_fetch_dst() and > ip6_route_reply_fetch_dst()? If so, can these calls be removed? > > Reference: Martin KaFai Lau's comment in v3 review > https://lore.kernel.org/bpf/df4b0996-3e88-4ea4-983b-82866455a6fc@linux.dev/ Same reply as https://lore.kernel.org/bpf/aeYkdKm7B4NQ3BDo@gmail.com/, too bad the LLM can't access the cover letter. > > > + > > + *in_progress = true; > > + icmpv6_send(nskb, ICMPV6_DEST_UNREACH, code, 0); > > + *in_progress = false; > > + kfree_skb(nskb); > > + break; > > +#endif > > + default: > > + return -EPROTONOSUPPORT; > > + } > > + > > + return 0; > > +} > > [ ... ] > > > --- > AI reviewed your patch. Please fix the bug or email reply why it's not a bug. > See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md > > CI run summary: https://github.com/kernel-patches/bpf/actions/runs/24663313503