[Bug 232986] Use of ifunc in libc causes segfaults

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Nov 5 14:52:04 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=232986

            Bug ID: 232986
           Summary: Use of ifunc in libc causes segfaults
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: bin
          Assignee: bugs at FreeBSD.org
          Reporter: shawn.webb at hardenedbsd.org

In r339898, kib@ introduced the first use of ifunc in userland, specifically in
libc. This causes issues with dynamically-linked binaries where RELRO+BIND_NOW
is used. This is an issue in HardenedBSD, where RELRO and BIND_NOW are set by
default.

In r340137, emaste@ found one and fixed one issue: the enforcement of RELRO was
being done in the RTLD prior to the resolution of the ifunc. I suspect there
may be more to do in the RTLD to complete ifunc support in shared libraries,
especially ones as critical as libc.

This could be seen as a HardenedBSD-specific issue. However, as FreeBSD
re-implements parts of HardenedBSD, FreeBSD will likely run across the same
issue. Regardless, we at HardenedBSD will work to find the underlying cause,
fix it, and (if applicable) upstream the fix.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list