Page MenuHomeFreeBSD

link_elf_obj: Invoke fini callbacks
ClosedPublic

Authored by markj on Jul 28 2021, 9:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, May 23, 2:02 AM
Unknown Object (File)
Sat, May 23, 2:02 AM
Unknown Object (File)
Mon, May 18, 4:51 PM
Unknown Object (File)
May 3 2026, 7:26 PM
Unknown Object (File)
Apr 29 2026, 11:56 PM
Unknown Object (File)
Apr 26 2026, 8:48 AM
Unknown Object (File)
Apr 25 2026, 1:48 AM
Unknown Object (File)
Apr 21 2026, 3:58 PM
Subscribers

Details

Summary

This is required for KASAN: when a module is unloaded, poisoned regions
(e.g., pad areas between global variables) are left as such, so if they
are reused as KLDs are loaded, false positives can arise.

Reported by: pho
Sponsored by: The FreeBSD Foundation

Diff Detail

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

Event Timeline

markj requested review of this revision.Jul 28 2021, 9:01 PM

Is the same handling needed for link_elf.c?

This revision is now accepted and ready to land.Jul 29 2021, 12:32 AM
In D31339#706113, @kib wrote:

Is the same handling needed for link_elf.c?

Yes, I just didn't do it since I don't have a good way to test yet. I did not implement .init_array support there yet either. I'll revisit this for link_elf when KASAN is ported to arm64, if that's ok with you.

In D31339#706113, @kib wrote:

Is the same handling needed for link_elf.c?

Yes, I just didn't do it since I don't have a good way to test yet. I did not implement .init_array support there yet either. I'll revisit this for link_elf when KASAN is ported to arm64, if that's ok with you.

Sure I do not consider doing it for link_elf.c right now as a requirement.

This revision was automatically updated to reflect the committed changes.