Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Dec 2023 14:41:24 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Warner Losh <imp@freebsd.org>, src-committers <src-committers@freebsd.org>,  dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org
Subject:   Re: git: 773c13c686e4 - main - kldxref: skip .pkgsave files
Message-ID:  <CANCZdfozE%2BB721S800eSKQ8eaUgdCC4BcyYXOf4BLEfbgL-34A@mail.gmail.com>
In-Reply-To: <a0746fe6-62b6-4a0a-99ad-d8a0b2e01d09@FreeBSD.org>
References:  <202302251737.31PHb2R8072300@gitrepo.freebsd.org> <e30bb1e4-11c7-4829-a7b6-21bfd590e558@FreeBSD.org> <CANCZdfp_Vz-K24%2BkBy1DZhMKoAjJ%2B-Z1m_9wB6DZ24=QTopBiA@mail.gmail.com> <a0746fe6-62b6-4a0a-99ad-d8a0b2e01d09@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--0000000000002259b4060bde3711
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hey John,

On Wed, Dec 6, 2023 at 2:13=E2=80=AFPM John Baldwin <jhb@freebsd.org> wrote=
:

> On 12/6/23 1:02 PM, Warner Losh wrote:
> > On Wed, Dec 6, 2023, 1:04 PM John Baldwin <jhb@freebsd.org> wrote:
> >
> >> On 2/25/23 9:37 AM, Warner Losh wrote:
> >>> The branch main has been updated by imp:
> >>>
> >>> URL:
> >>
> https://cgit.FreeBSD.org/src/commit/?id=3D773c13c686e4b6ae9dbbc150b342b82=
c3f47d73a
> >>>
> >>> commit 773c13c686e4b6ae9dbbc150b342b82c3f47d73a
> >>> Author:     Mina Gali=C4=87 <freebsd@igalic.co>
> >>> AuthorDate: 2023-02-25 17:31:58 +0000
> >>> Commit:     Warner Losh <imp@FreeBSD.org>
> >>> CommitDate: 2023-02-25 17:35:43 +0000
> >>>
> >>>       kldxref: skip .pkgsave files
> >>>
> >>>       This should help people transitioning from traditional setups t=
o
> >> pkgbase
> >>>       experience a lot less friction.
> >>>
> >>>       We do this by skipping all files containing two dots.
> >>>
> >>>       Reviewed by: imp
> >>>       Pull Request: https://github.com/freebsd/freebsd-src/pull/661
> >>>       Differential Revision: https://reviews.freebsd.org/D27959
> >>
> >> This restriction is too broad and omits all of the modern wifi firmwar=
e
> >> klds from linker.hints, e.g.
> >>
> >> /boot/kernel/iwlwifi-3160-17.ucode.ko
> >> /boot/kernel/iwlwifi-3168-29.ucode.ko
> >> /boot/kernel/iwlwifi-7260-17.ucode.ko
> >> /boot/kernel/iwlwifi-7265-17.ucode.ko
> >> /boot/kernel/iwlwifi-7265D-29.ucode.ko
> >> /boot/kernel/iwlwifi-8000C-36.ucode.ko
> >> /boot/kernel/iwlwifi-8265-36.ucode.ko
> >> /boot/kernel/iwlwifi-9000-pu-b0-jf-b0-46.ucode.ko
> >> /boot/kernel/iwlwifi-9260-th-b0-jf-b0-46.ucode.ko
> >> /boot/kernel/iwlwifi-Qu-b0-hr-b0-77.ucode.ko
> >> /boot/kernel/iwlwifi-Qu-b0-jf-b0-77.ucode.ko
> >> /boot/kernel/iwlwifi-Qu-c0-hr-b0-77.ucode.ko
> >> /boot/kernel/iwlwifi-Qu-c0-jf-b0-77.ucode.ko
> >> /boot/kernel/iwlwifi-QuZ-a0-hr-b0-77.ucode.ko
> >> /boot/kernel/iwlwifi-QuZ-a0-jf-b0-77.ucode.ko
> >> /boot/kernel/iwlwifi-cc-a0-77.ucode.ko
> >> /boot/kernel/iwlwifi-so-a0-gf-a0-83.ucode.ko
> >> /boot/kernel/iwlwifi-so-a0-gf-a0.pnvm.ko
> >> /boot/kernel/iwlwifi-so-a0-gf4-a0-83.ucode.ko
> >> /boot/kernel/iwlwifi-so-a0-gf4-a0.pnvm.ko
> >> /boot/kernel/iwlwifi-so-a0-hr-b0-81.ucode.ko
> >> /boot/kernel/iwlwifi-so-a0-jf-b0-77.ucode.ko
> >> /boot/kernel/iwlwifi-ty-a0-gf-a0-83.ucode.ko
> >> /boot/kernel/iwlwifi-ty-a0-gf-a0.pnvm.ko
> >> /boot/kernel/rtw8723d_fw.bin.ko
> >> /boot/kernel/rtw8821c_fw.bin.ko
> >> /boot/kernel/rtw8822b_fw.bin.ko
> >> /boot/kernel/rtw8822c_fw.bin.ko
> >> /boot/kernel/rtw8822c_wow_fw.bin.ko
> >>
> >> all match this pattern and are skipped.
> >>
> >> I'm busy rewriting a bunch of kldxref to be a cross tool using libelf,
> >> but I think here you want to probably revert this and just add pkgsave
> >> to the list of "known bad" suffixes.
> >>
> >
> > Sure. Any reason to not just require .ko? Or do we have to index the
> kernel
> > too?
>
> We do index the kernel as well, yes.  However, we could probably get by
> with "kernel" and ends in ".ko" as a valid set of files.  This would also
> avoid bogusly warning about linker.hints not being a valid ELF file on
> re-runs if you use -v.
>

Yea, that sounds good. I'll code it up and add you to the review.

But why does it matter for these? Firmware is usually loaded by filename
and need not be elf... or are these wrapped in elf sections...

I haven't noticed it breaking my linuxkpi wifi driver that have autoloaded
firmware...

Warner

--0000000000002259b4060bde3711
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Hey John,<br></div><br><div class=3D"gmai=
l_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Dec 6, 2023 at 2:13=
=E2=80=AFPM John Baldwin &lt;<a href=3D"mailto:jhb@freebsd.org">jhb@freebsd=
.org</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1=
ex">On 12/6/23 1:02 PM, Warner Losh wrote:<br>
&gt; On Wed, Dec 6, 2023, 1:04 PM John Baldwin &lt;<a href=3D"mailto:jhb@fr=
eebsd.org" target=3D"_blank">jhb@freebsd.org</a>&gt; wrote:<br>
&gt; <br>
&gt;&gt; On 2/25/23 9:37 AM, Warner Losh wrote:<br>
&gt;&gt;&gt; The branch main has been updated by imp:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; URL:<br>
&gt;&gt; <a href=3D"https://cgit.FreeBSD.org/src/commit/?id=3D773c13c686e4b=
6ae9dbbc150b342b82c3f47d73a" rel=3D"noreferrer" target=3D"_blank">https://c=
git.FreeBSD.org/src/commit/?id=3D773c13c686e4b6ae9dbbc150b342b82c3f47d73a</=
a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; commit 773c13c686e4b6ae9dbbc150b342b82c3f47d73a<br>
&gt;&gt;&gt; Author:=C2=A0 =C2=A0 =C2=A0Mina Gali=C4=87 &lt;<a href=3D"mail=
to:freebsd@igalic.co" target=3D"_blank">freebsd@igalic.co</a>&gt;<br>
&gt;&gt;&gt; AuthorDate: 2023-02-25 17:31:58 +0000<br>
&gt;&gt;&gt; Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh &lt;imp@FreeBSD.org&gt;=
<br>
&gt;&gt;&gt; CommitDate: 2023-02-25 17:35:43 +0000<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0kldxref: skip .pkgsave files<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0This should help people transitionin=
g from traditional setups to<br>
&gt;&gt; pkgbase<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0experience a lot less friction.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0We do this by skipping all files con=
taining two dots.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Reviewed by: imp<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Pull Request: <a href=3D"https://git=
hub.com/freebsd/freebsd-src/pull/661" rel=3D"noreferrer" target=3D"_blank">=
https://github.com/freebsd/freebsd-src/pull/661</a><br>;
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Differential Revision: <a href=3D"ht=
tps://reviews.freebsd.org/D27959" rel=3D"noreferrer" target=3D"_blank">http=
s://reviews.freebsd.org/D27959</a><br>
&gt;&gt;<br>
&gt;&gt; This restriction is too broad and omits all of the modern wifi fir=
mware<br>
&gt;&gt; klds from linker.hints, e.g.<br>
&gt;&gt;<br>
&gt;&gt; /boot/kernel/iwlwifi-3160-17.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-3168-29.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-7260-17.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-7265-17.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-7265D-29.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-8000C-36.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-8265-36.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-9000-pu-b0-jf-b0-46.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-9260-th-b0-jf-b0-46.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-Qu-b0-hr-b0-77.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-Qu-b0-jf-b0-77.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-Qu-c0-hr-b0-77.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-Qu-c0-jf-b0-77.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-QuZ-a0-hr-b0-77.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-QuZ-a0-jf-b0-77.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-cc-a0-77.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-so-a0-gf-a0-83.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-so-a0-gf-a0.pnvm.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-so-a0-gf4-a0-83.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-so-a0-gf4-a0.pnvm.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-so-a0-hr-b0-81.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-so-a0-jf-b0-77.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-ty-a0-gf-a0-83.ucode.ko<br>
&gt;&gt; /boot/kernel/iwlwifi-ty-a0-gf-a0.pnvm.ko<br>
&gt;&gt; /boot/kernel/rtw8723d_fw.bin.ko<br>
&gt;&gt; /boot/kernel/rtw8821c_fw.bin.ko<br>
&gt;&gt; /boot/kernel/rtw8822b_fw.bin.ko<br>
&gt;&gt; /boot/kernel/rtw8822c_fw.bin.ko<br>
&gt;&gt; /boot/kernel/rtw8822c_wow_fw.bin.ko<br>
&gt;&gt;<br>
&gt;&gt; all match this pattern and are skipped.<br>
&gt;&gt;<br>
&gt;&gt; I&#39;m busy rewriting a bunch of kldxref to be a cross tool using=
 libelf,<br>
&gt;&gt; but I think here you want to probably revert this and just add pkg=
save<br>
&gt;&gt; to the list of &quot;known bad&quot; suffixes.<br>
&gt;&gt;<br>
&gt; <br>
&gt; Sure. Any reason to not just require .ko? Or do we have to index the k=
ernel<br>
&gt; too?<br>
<br>
We do index the kernel as well, yes.=C2=A0 However, we could probably get b=
y<br>
with &quot;kernel&quot; and ends in &quot;.ko&quot; as a valid set of files=
.=C2=A0 This would also<br>
avoid bogusly warning about linker.hints not being a valid ELF file on<br>
re-runs if you use -v.<br></blockquote><div><br></div><div>Yea, that sounds=
 good. I&#39;ll code it up and add you to the review.</div><div><br></div><=
div>But why does it matter for these? Firmware is usually loaded by filenam=
e and need not be elf... or are these wrapped in elf sections...</div><div>=
<br></div><div>I haven&#39;t noticed it breaking my linuxkpi wifi driver th=
at have autoloaded firmware...</div><div><br></div><div>Warner=C2=A0</div><=
/div></div>

--0000000000002259b4060bde3711--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfozE%2BB721S800eSKQ8eaUgdCC4BcyYXOf4BLEfbgL-34A>