SIGBUS si_code 12

Konstantin Belousov kostikbel at gmail.com
Fri May 22 20:12:59 UTC 2020


On Fri, May 22, 2020 at 09:54:40PM +0200, Paul Floyd wrote:
> 
> 
> > On 22 May 2020, at 21:28, Konstantin Belousov <kostikbel at gmail.com> wrote:
> > 
> > On Fri, May 22, 2020 at 05:32:37PM +0200, Paul Floyd wrote:
> >> A bit more on this.
> >> 
> >> The code in question is in trap.c:
> 
> [snip]
> 
> >> 
> >> I have machte.prot_fault_translation set to 0 (the default I believe) so this enters the first ‘else if’ branch.
> >> 
> >> The value of p_osrel looks like it comes from retold.c. I see two mechanisms - passed via auxv AT_OSRELDATE (with a backup of using a sysctl) and reading the NT_FREEBSD_ABI_TAG note - I’m not sure which is used in this case.
> > I do not know what retold.c is.
> 
> 
> That’s how autocorrect thinks that rtld.c should be spelt.
> 
> 
> >> 
> >> The auxv value seems to be sent and I can’t see why either should be failing.
> > 
> > auxv has nothing to do with p_osrel as seen by kernel.  In-kernel
> > ELF image activator parses notes and reads osrel if available.
> 
> And which files/functions do that?
ELF image activator.

Look in kern/imgact_elf.c.  It is basically in check_note, used from
get_brandinfo.  The real function names are mangled for co-existence
of 32 and 64 bit elf activators.


More information about the freebsd-hackers mailing list