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)
Mon, Sep 16, 9:44 PM
Unknown Object (File)
Thu, Sep 5, 4:53 PM
Unknown Object (File)
Thu, Sep 5, 2:35 PM
Unknown Object (File)
Thu, Sep 5, 3:50 AM
Unknown Object (File)
Wed, Sep 4, 6:13 PM
Unknown Object (File)
Tue, Sep 3, 8:18 AM
Unknown Object (File)
Aug 15 2024, 7:25 AM
Unknown Object (File)
Aug 13 2024, 6:36 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.