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)
Sun, Dec 7, 11:39 AM
Unknown Object (File)
Sun, Dec 7, 7:32 AM
Unknown Object (File)
Thu, Dec 4, 7:10 AM
Unknown Object (File)
Wed, Dec 3, 10:44 PM
Unknown Object (File)
Wed, Dec 3, 9:04 PM
Unknown Object (File)
Fri, Nov 28, 1:33 PM
Unknown Object (File)
Fri, Nov 28, 4:00 AM
Unknown Object (File)
Thu, Nov 27, 7:54 AM
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.