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
F141190818: D54107.id167652.diff
Fri, Jan 2, 3:41 AM
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
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 Passed
Unit
No Test Coverage
Build Status
Buildable 69105
Build 65988: arc lint + arc unit

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.