Re: git: 2d6114f6d26b - main - libifconfig: Add an SR-IOV VF status query

"Enji Cooper (yaneurabeya)" <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.src
Message-ID <1356F358-D81E-4288-820F-BDA06A0C4D49__2086.4292442397$1786317157$gmane$org@gmail.com>
> On Aug 9, 2026, at 12:20 AM, Herbert J. Skuhra <[email protected]> wrote:
> 
> On Sun, 09 Aug 2026 08:47:45 +0200, Kevin Bowling wrote:
>> 
>> The branch main has been updated by kbowling:
>> 
>> URL: https://cgit.FreeBSD.org/src/commit/?id=2d6114f6d26bf7dfa5ad94e1db9b09ee7108dc7a
>> 
>> commit 2d6114f6d26bf7dfa5ad94e1db9b09ee7108dc7a
>> Author:     Kevin Bowling <[email protected]>
>> AuthorDate: 2026-08-09 02:03:20 +0000
>> Commit:     Kevin Bowling <[email protected]>
>> CommitDate: 2026-08-09 06:46:41 +0000
>> 
>>    libifconfig: Add an SR-IOV VF status query
>> 
>>    Provide a public helper which retrieves, unpacks, and validates the
>>    versioned VF status nvlist.  Validate the required VF indices and the
>>    shape and version of driver-specific extension namespaces while allowing
>>    unknown optional fields.
>> 
>>    The ioctl argument is not copied back when the command returns EFBIG.
>>    Start with a practical buffer and grow it geometrically rather than
>>    relying on the required length being observable.
>> 
>>    Use the helper in ifconfig so other consumers share the same transport
>>    and validation behavior.
>> ---
>> lib/libifconfig/Makefile      |   2 +-
>> lib/libifconfig/Symbol.map    |   4 ++
>> lib/libifconfig/libifconfig.c | 129 ++++++++++++++++++++++++++++++++++++++++++
>> lib/libifconfig/libifconfig.h |  11 ++++
>> sbin/ifconfig/ifvfstatus.c    |  60 +++-----------------
>> share/mk/src.libnames.mk      |   4 +-
>> 6 files changed, 154 insertions(+), 56 deletions(-)
> 
> This breaks buildworld:
> 
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_get_vf_status) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
> 
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_vf_status_validate) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_vf_status_validate) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_vf_status_validate) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
> 
> ld.lld: error: undefined symbol: FreeBSD_nvlist_get_number
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_vf_status_validate) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
> 
> ld.lld: error: undefined symbol: FreeBSD_nvlist_exists_nvlist_array
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_vf_status_validate) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
> 
> ld.lld: error: undefined symbol: FreeBSD_nvlist_get_nvlist_array
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_vf_status_validate) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
> 
> ld.lld: error: undefined symbol: FreeBSD_nvlist_exists
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_vf_status_validate) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
> 
> ld.lld: error: undefined symbol: FreeBSD_nvlist_exists_nvlist
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_vf_status_validate) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
> 
> ld.lld: error: undefined symbol: FreeBSD_nvlist_get_nvlist
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_vf_status_validate) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_vf_status_validate) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
> 
> ld.lld: error: undefined symbol: FreeBSD_nvlist_next
>>>> referenced by libifconfig.c
>>>>              libifconfig.o:(ifconfig_vf_status_validate) in archive /usr/obj/home/herbert/sources/freebsd/main/src/amd64.amd64/lib/libifconfig/libifconfig.a
> cc: error: linker command failed with exit code 1 (use -v to see invocation)
> *** [rescue] Error code 1

Does this issue exist with MK_CLEAN=yes?
-Enji
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEkHfexGRJ3gYRdA2gGpE5DjPsNJgFAmp5CRgACgkQGpE5DjPs
NJiLTA//QjC1XrQ850+gAfM5ZgLX62fT+CuQlUU/kKf+h1AgaBzQweiiiJCwW2iy
wtN43QtrORkXSYOjWxzaC7Y70mu6rldaBhgB2kPDMR3mnr0iNzSc3X66ZC0A1wbQ
Hehq29rWR1aPpdBnB0cnQcWXix6V14n7ciN7/WLe/UIRvBcW5AUGLsuZr/PM1qRz
CVVccC4CIrZVDR8Lddvn5ZKcoY26ysGeSTyupjSYZcMdHBSIhaCDWwBpuMgVvb+d
+blp76yEHttKAkrc/6FUFteaaLUaKw7GsKmNkhuZYERjqbZtEZ3UY8xYa74iTl6p
5nIBOus7lR8r3KfKxbzjevIYEL2mrZYxGaCzzZ2FxzbJzCGlxzlmBgkunHsjPC5N
qoWKlPAzAUCJOHJtorBU2kstTBGR2yZ4dxIkgueXbJNQct0qmR1lq2IyRG3UkJd3
IpX0ROn2vEQrx8kmdxFbPhTKG8mPgRjvXstldPM5orqJ1IT2w418WQCBknM+ntXJ
Xlgvd0vBdsIWUQh+1QaJF4aVmIGRMmNrQH9P8DEaXAmQa/truvwi9fgUtSouii9/
Q9qe6CtKTFCf8kwCb+Kr07yocPUNq+GneKqfAnFeP+CcH9eeF7d4FPIZgXPyz82Q
ZO0uvdryGyh/DfUjwiUpKiXTF8Xlr/GYabXahqRiepFpKy+sVfo=
=nvX9
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.