On Fri, Feb 26, 2021, Nadav Amit wrote: > > > On Feb 25, 2021, at 1:16 PM, Sean Christopherson <sea...@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.