NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/56355: dtrace triggers double-fault in supervisor mode



The following reply was made to PR kern/56355; it has been noted by GNATS.

From: bch <brad.harder%gmail.com@localhost>
To: Taylor R Campbell <riastradh%netbsd.org@localhost>
Cc: gnats-bugs%netbsd.org@localhost
Subject: Re: kern/56355: dtrace triggers double-fault in supervisor mode
Date: Sun, 15 Aug 2021 09:13:59 -0700

 --000000000000f72a2805c99b5fa4
 Content-Type: text/plain; charset="UTF-8"
 Content-Transfer-Encoding: quoted-printable
 
 On Sun, Aug 15, 2021 at 09:05 bch <brad.harder%gmail.com@localhost> wrote:
 
 >
 >
 > On Sun, Aug 15, 2021 at 08:10 Taylor R Campbell <riastradh%netbsd.org@localhost>
 > wrote:
 >
 >> > Date: Sun, 15 Aug 2021 15:08:11 +0000
 >> > From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
 >> >
 >> > > Date: Tue, 10 Aug 2021 13:26:08 -0700
 >> > > From: bch <brad.harder%gmail.com@localhost>
 >> > >
 >> > > @@ -251,8 +251,9 @@
 >> > >         /*
 >> > >          * Exclude some more symbols which can be called from probe
 >> context.
 >> > >          */
 >> > > -       if (strcmp(name, "x86_curcpu") =3D=3D 0 ||
 >> > > -           strcmp(name, "x86_curlwp") =3D=3D 0) {
 >> > > +       if (strncmp(name, "x86_curcpu", 10) =3D=3D 0 ||
 >> > > +           strncmp(name, "trap", 4) =3D=3D 0 ||
 >> > > +           strncmp(name, "x86_curlwp", 10) =3D=3D 0) {
 >> > >                 return 0;
 >> >
 >> > This patch changes the semantics of the code so that it excludes any
 >> > names that _start_ with `trap', `x86_curcpu', or `x86_curlwp', such as
 >> > `trapsignal'.  The use of strncmp instead of strcmp should be restored
 >> > (and the list should maybe be sorted lexicographically).
 >>
 >> Errr, I mean: this code should use strcmp, not strncmp.
 >
 >
 > If you read through to the MI exclusion code at fbt_exclude(), it=E2=80=
 =99s using
 > strncmp(). Should that be changed too, or otherwise, why pick strcmp() v
 > strncmp()?
 >
 
 * fbt_excluded()
 
 
 >
 > -bch
 >
 >
 >>
 
 --000000000000f72a2805c99b5fa4
 Content-Type: text/html; charset="UTF-8"
 Content-Transfer-Encoding: quoted-printable
 
 <div><br></div><div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
 =3D"gmail_attr">On Sun, Aug 15, 2021 at 09:05 bch &lt;<a href=3D"mailto:bra=
 d.harder%gmail.com@localhost">brad.harder%gmail.com@localhost</a>&gt; wrote:<br></div><blockquo=
 te class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc so=
 lid;padding-left:1ex"><div><br></div><div><br><div class=3D"gmail_quote"></=
 div></div><div><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_a=
 ttr">On Sun, Aug 15, 2021 at 08:10 Taylor R Campbell &lt;<a href=3D"mailto:=
 riastradh%netbsd.org@localhost" target=3D"_blank">riastradh%netbsd.org@localhost</a>&gt; wrote:=
 <br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
 ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-le=
 ft-color:rgb(204,204,204)" dir=3D"auto">&gt; Date: Sun, 15 Aug 2021 15:08:1=
 1 +0000<br>
 &gt; From: Taylor R Campbell &lt;riastradh%NetBSD.org@localhost&gt;<br>
 &gt; <br>
 &gt; &gt; Date: Tue, 10 Aug 2021 13:26:08 -0700<br>
 &gt; &gt; From: bch &lt;<a href=3D"mailto:brad.harder%gmail.com@localhost"; target=3D"=
 _blank">brad.harder%gmail.com@localhost</a>&gt;<br>
 &gt; &gt; <br>
 &gt; &gt; @@ -251,8 +251,9 @@<br>
 &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/*<br>
 &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 * Exclude some more symbols whi=
 ch can be called from probe context.<br>
 &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 */<br>
 &gt; &gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0if (strcmp(name, &quot;x86_curcpu&quo=
 t;) =3D=3D 0 ||<br>
 &gt; &gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0strcmp(name, &quot;x86_=
 curlwp&quot;) =3D=3D 0) {<br>
 &gt; &gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0if (strncmp(name, &quot;x86_curcpu&qu=
 ot;, 10) =3D=3D 0 ||<br>
 &gt; &gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0strncmp(name, &quot;tra=
 p&quot;, 4) =3D=3D 0 ||<br>
 &gt; &gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0strncmp(name, &quot;x86=
 _curlwp&quot;, 10) =3D=3D 0) {<br>
 &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0retu=
 rn 0;<br>
 &gt; <br>
 &gt; This patch changes the semantics of the code so that it excludes any<b=
 r>
 &gt; names that _start_ with `trap&#39;, `x86_curcpu&#39;, or `x86_curlwp&#=
 39;, such as<br>
 &gt; `trapsignal&#39;.=C2=A0 The use of strncmp instead of strcmp should be=
  restored<br>
 &gt; (and the list should maybe be sorted lexicographically).<br>
 <br>
 Errr, I mean: this code should use strcmp, not strncmp.=C2=A0</blockquote><=
 div dir=3D"auto"><br></div></div></div><div><div class=3D"gmail_quote"><div=
  dir=3D"auto">If you read through to the MI exclusion code at fbt_exclude()=
 , it=E2=80=99s using strncmp(). Should that be changed too, or otherwise, w=
 hy pick strcmp() v strncmp()?</div><div dir=3D"auto"></div></div></div></bl=
 ockquote><div dir=3D"auto"><br></div><div dir=3D"auto">* fbt_excluded()</di=
 v><div dir=3D"auto"><br></div><blockquote class=3D"gmail_quote" style=3D"ma=
 rgin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div clas=
 s=3D"gmail_quote"><div dir=3D"auto"><br></div><div dir=3D"auto"><br></div><=
 div dir=3D"auto">-bch</div><div dir=3D"auto"><br></div><blockquote class=3D=
 "gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;borde=
 r-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)" dir=
 =3D"auto"><br>
 </blockquote></div></div>
 </blockquote></div></div>
 
 --000000000000f72a2805c99b5fa4--
 


Home | Main Index | Thread Index | Old Index