Messages in this thread | | | Date | Wed, 20 Oct 2021 21:34:47 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH v2 08/14] x86/retpoline: Create a retpoline thunk array |
| |
On Wed, Oct 20, 2021 at 05:46:39PM +0100, Andrew Cooper wrote: > On 20/10/2021 16:57, Josh Poimboeuf wrote: > > On Wed, Oct 20, 2021 at 12:44:50PM +0200, Peter Zijlstra wrote: > >> Stick all the retpolines in a single symbol and have the individual > >> thunks as inner labels, this should guarantee thunk order and layout. > > How so? > > > > Just wondering what the purpose of the array is. It doesn't seem to be > > referenced anywhere. > > The array property is what makes: > > > + reg = (target - &__x86_indirect_thunk_rax) / > > + (&__x86_indirect_thunk_rcx - &__x86_indirect_thunk_rax); > > safe in the next path.
Arguably I should probably write that like:
(target - &__x86_indirect_thunk_array) / __x86_indirect_thunk_size;
or something, and also generate and expose that latter symbol from .S.
| |