Re: [RFC 1/6] vdso/extable: fix calculation of base

Sean Christopherson
2021-02-26T17:48:58Z

On Fri, Feb 26, 2021, Nadav Amit wrote:
>
> > On Feb 25, 2021, at 1:16 PM, Sean Christopherson <seanjc@google.com> wrote:
> > It's been literally years since I wrote this code, but I distinctly remember the
> > addresses being relative to the base. I also remember testing multiple entries,
> > but again, that was a long time ago.
> >
> > Assuming things have changed, or I was flat out wrong, the comment above the
> > macro magic should also be updated.
> >
> > /*
> > * Inject exception fixup for vDSO code. Unlike normal exception fixup,
> > * vDSO uses a dedicated handler the addresses are relative to the overall
> > * exception table, not each individual entry.
> > */
>
> I will update the comment. I am not very familiar with pushsection stuff,
> but the offsets were wrong.
>
> Since you say you checked it, I wonder whether it can somehow be caused
> by having exception table entries defined from multiple object files.

Oooh, I think that would do it. Have you checked what happens if there are
multiple object files and multiple fixups within an object file?

> Anyhow, this change follows the kernel’s (not vDSO) exception table
> scheme.