Date: Tue, 2 Apr 2024 08:59:33 +0800 From: Zhenlei Huang <zlei@FreeBSD.org> To: Mark Johnston <markj@freebsd.org> Cc: "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org> Subject: Re: git: 63613e3ba1e1 - main - wg: Use ENETUNREACH when transmitting to a non-existent peer Message-ID: <CEEE738E-FAD0-47D1-9F81-CB53EC8A959F@FreeBSD.org> In-Reply-To: <202404011723.431HNlNf040122@gitrepo.freebsd.org> References: <202404011723.431HNlNf040122@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_FD3BFEC7-1909-421F-B544-1A90D3B1EA1B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii I can confirm this fixes = https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D266712 = <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D266712> . > On Apr 2, 2024, at 1:23 AM, Mark Johnston <markj@freebsd.org> wrote: >=20 > The branch main has been updated by markj: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D63613e3ba1e188e9fece43e1613bd697= f04b345e >=20 > commit 63613e3ba1e188e9fece43e1613bd697f04b345e > Author: Mark Johnston <markj@FreeBSD.org> > AuthorDate: 2024-04-01 17:20:55 +0000 > Commit: Mark Johnston <markj@FreeBSD.org> > CommitDate: 2024-04-01 17:23:32 +0000 >=20 > wg: Use ENETUNREACH when transmitting to a non-existent peer >=20 > The old errno value used is specifically for Capsicum and shouldn't = be > co-opted in this way. It has special handling in the generic = syscall > layer (see syscallret()). OpenBSD returns ENETUNREACH in this = case; > let's do the same thing. >=20 > Reviewed by: kevans, imp > MFC after: 2 weeks > Sponsored by: Klara, Inc. > Differential Revision: https://reviews.freebsd.org/D44582 > --- > sys/dev/wg/if_wg.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) >=20 > diff --git a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c > index 42c426ac1819..bb61917ee4fc 100644 > --- a/sys/dev/wg/if_wg.c > +++ b/sys/dev/wg/if_wg.c > @@ -251,9 +251,6 @@ struct wg_softc { >=20 > #define MAX_LOOPS 8 > #define MTAG_WGLOOP 0x77676c70 /* wglp */ > -#ifndef ENOKEY > -#define ENOKEY ENOTCAPABLE > -#endif >=20 > #define GROUPTASK_DRAIN(gtask) \ > gtaskqueue_drain((gtask)->gt_taskqueue, &(gtask)->gt_task) > @@ -2115,7 +2112,7 @@ wg_xmit(if_t ifp, struct mbuf *m, sa_family_t = af, uint32_t mtu) > BPF_MTAP2_AF(ifp, m, pkt->p_af); >=20 > if (__predict_false(peer =3D=3D NULL)) { > - rc =3D ENOKEY; > + rc =3D ENETUNREACH; > goto err_xmit; > } >=20 --Apple-Mail=_FD3BFEC7-1909-421F-B544-1A90D3B1EA1B Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; = charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">I = can confirm this fixes <a = href=3D"https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D266712" = class=3D"">https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D266712</a>&= nbsp;.<br class=3D""><div><br class=3D""><blockquote type=3D"cite" = class=3D""><div class=3D"">On Apr 2, 2024, at 1:23 AM, Mark Johnston = <<a href=3D"mailto:markj@freebsd.org" = class=3D"">markj@freebsd.org</a>> wrote:</div><br = class=3D"Apple-interchange-newline"><div class=3D""><div class=3D"">The = branch main has been updated by markj:<br class=3D""><br class=3D"">URL: = <a = href=3D"https://cgit.FreeBSD.org/src/commit/?id=3D63613e3ba1e188e9fece43e1= 613bd697f04b345e" = class=3D"">https://cgit.FreeBSD.org/src/commit/?id=3D63613e3ba1e188e9fece4= 3e1613bd697f04b345e</a><br class=3D""><br class=3D"">commit = 63613e3ba1e188e9fece43e1613bd697f04b345e<br class=3D"">Author: = Mark Johnston <<a = href=3D"mailto:markj@FreeBSD.org" class=3D"">markj@FreeBSD.org</a>><br = class=3D"">AuthorDate: 2024-04-01 17:20:55 +0000<br class=3D"">Commit: = Mark Johnston <<a = href=3D"mailto:markj@FreeBSD.org" class=3D"">markj@FreeBSD.org</a>><br = class=3D"">CommitDate: 2024-04-01 17:23:32 +0000<br class=3D""><br = class=3D""> wg: Use ENETUNREACH when transmitting to a = non-existent peer<br class=3D""><br class=3D""> The = old errno value used is specifically for Capsicum and shouldn't be<br = class=3D""> co-opted in this way. It has special = handling in the generic syscall<br class=3D""> layer = (see syscallret()). OpenBSD returns ENETUNREACH in this case;<br = class=3D""> let's do the same thing.<br class=3D""><br = class=3D""> Reviewed by: kevans, = imp<br class=3D""> MFC after: = 2 weeks<br class=3D""> = Sponsored by: Klara, Inc.<br class=3D""> = Differential Revision: <a = href=3D"https://reviews.freebsd.org/D44582" = class=3D"">https://reviews.freebsd.org/D44582</a><br class=3D"">---<br = class=3D""> sys/dev/wg/if_wg.c | 5 +----<br class=3D""> 1 file changed, = 1 insertion(+), 4 deletions(-)<br class=3D""><br class=3D"">diff --git = a/sys/dev/wg/if_wg.c b/sys/dev/wg/if_wg.c<br class=3D"">index = 42c426ac1819..bb61917ee4fc 100644<br class=3D"">--- = a/sys/dev/wg/if_wg.c<br class=3D"">+++ b/sys/dev/wg/if_wg.c<br = class=3D"">@@ -251,9 +251,6 @@ struct wg_softc {<br class=3D""><br = class=3D""> #define MAX_LOOPS<span class=3D"Apple-tab-span" = style=3D"white-space:pre"> </span>8<br class=3D""> #define = MTAG_WGLOOP<span class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>0x77676c70 /* wglp */<br class=3D"">-#ifndef ENOKEY<br = class=3D"">-#define<span class=3D"Apple-tab-span" = style=3D"white-space:pre"> </span>ENOKEY<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>ENOTCAPABLE<br class=3D"">-#endif<br class=3D""><br class=3D""> = #define<span class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>GROUPTASK_DRAIN(gtask)<span class=3D"Apple-tab-span" = style=3D"white-space:pre"> </span><span class=3D"Apple-tab-span" = style=3D"white-space:pre"> </span><span class=3D"Apple-tab-span" = style=3D"white-space:pre"> </span>\<br class=3D""> <span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>gtaskqueue_drain((gtask)->gt_taskqueue, = &(gtask)->gt_task)<br class=3D"">@@ -2115,7 +2112,7 @@ = wg_xmit(if_t ifp, struct mbuf *m, sa_family_t af, uint32_t mtu)<br = class=3D""> <span class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>BPF_MTAP2_AF(ifp, m, pkt->p_af);<br class=3D""><br class=3D""> = <span class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>if (__predict_false(peer =3D=3D NULL)) {<br class=3D"">-<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> </span><span = class=3D"Apple-tab-span" style=3D"white-space:pre"> </span>rc =3D = ENOKEY;<br class=3D"">+<span class=3D"Apple-tab-span" = style=3D"white-space:pre"> </span><span class=3D"Apple-tab-span" = style=3D"white-space:pre"> </span>rc =3D ENETUNREACH;<br class=3D""> = <span class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span><span class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>goto err_xmit;<br class=3D""> <span class=3D"Apple-tab-span" = style=3D"white-space:pre"> </span>}<br class=3D""><br = class=3D""></div></div></blockquote></div><br class=3D""><div class=3D""> <div><br class=3D""></div> </div> <br class=3D""></body></html>= --Apple-Mail=_FD3BFEC7-1909-421F-B544-1A90D3B1EA1B--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CEEE738E-FAD0-47D1-9F81-CB53EC8A959F>