Page MenuHomeFreeBSD

qat: Export missing symbols in qat_common
ClosedPublic

Authored by rupeshpilania_gmail.com on Sat, Dec 6, 7:23 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Dec 26, 9:02 AM
Unknown Object (File)
Fri, Dec 19, 1:27 PM
Unknown Object (File)
Fri, Dec 19, 10:17 AM
Unknown Object (File)
Thu, Dec 18, 11:37 PM
Unknown Object (File)
Thu, Dec 18, 5:29 PM
Unknown Object (File)
Thu, Dec 18, 3:39 PM
Unknown Object (File)
Thu, Dec 18, 2:50 PM
Unknown Object (File)
Thu, Dec 18, 8:42 AM
Subscribers

Details

Summary

PR 291271: Some symbols required by dependent modules were missing from qat_common.ko and qat_api.ko, causing load failures when local symbol resolution is disabled.

Test Plan

Verified relevant sysctl settings:

sysctl debug.link_elf_leak_locals

debug.link_elf_leak_locals: 0

sysctl debug.link_elf_obj_leak_locals

debug.link_elf_obj_leak_locals: 0

Loaded QAT modules and confirmed all dependencies load correctly:

  1. kldload /boot/kernel/qat.ko
  2. kldstat

Id Refs Address Size Name
1 34 0xffffffff80200000 21268a0 kernel
2 1 0xffffffff82d10000 3220 intpm.ko
3 1 0xffffffff82d14000 2178 smbus.ko
4 1 0xffffffff82d17000 2a80 mac_ntpd.ko
5 1 0xffffffff82d1a000 4390 qat.ko
6 6 0xffffffff82d1f000 15dd0 qat_hw.ko
7 9 0xffffffff82d35000 30020 qat_common.ko
8 8 0xffffffff82d66000 68cd8 qat_api.ko

All symbols exported correctly; no module loading errors observed.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Thank you for working on this, but for this driver I think it would be better to just have EXPORT_SYMS=yes rather than enumerating and maintaining the list of symbols. Otherwise this will be a headache for the upstream maintainer.

Thank you for working on this, but for this driver I think it would be better to just have EXPORT_SYMS=yes rather than enumerating and maintaining the list of symbols. Otherwise this will be a headache for the upstream maintainer.

Agreed. Too many symbols to export and I think it is painful to maintain.

Thank you for working on this, but for this driver I think it would be better to just have EXPORT_SYMS=yes rather than enumerating and maintaining the list of symbols. Otherwise this will be a headache for the upstream maintainer.

Agreed. Too many symbols to export and I think it is painful to maintain.

Sure, will update.

Export all QAT symbols in qat_common and qat_api

Incorporated review feedback by exporting all QAT symbols in qat_common and qat_api.

Testing:

Built and loaded qat, qat_hw, qat_common, and qat_api on FreeBSD 16

Modules load successfully with no linker errors or warnings

debug.link_elf_leak_locals=0 and debug.link_elf_obj_leak_locals=0

Verified all modules present and referenced correctly via kldstat

This revision is now accepted and ready to land.Tue, Dec 23, 6:14 AM
This revision was automatically updated to reflect the committed changes.