Messages in this thread | | | Subject | Re: [RFC] x86/vdso: Align vdso after searching for free area | From | Dmitry Safonov <> | Date | Tue, 12 Jun 2018 22:48:46 +0100 |
| |
On Tue, 2018-06-12 at 14:39 -0700, H. Peter Anvin wrote: > On 06/12/18 14:24, Dmitry Safonov wrote: > > > > > > Move align_vdso_addr() after get_unmapped_area() to make sure > > > that > > > errata for AMD 15h is always applied. > > > > Alternative dirty-hacky idea: > > specify some (struct file*) to get_unmapped_area() for vdso vma, > > then > > mapping would be automatically aligned. Dirty as hell as relies on > > get_unmapped_area() realization details. > > > > > I have mentioned several times that I would like to see the vdso > actually be an actual file in a filesystem, that the kernel *or* user > space can map (needs to be MAP_SHARED, of course.)
Yeah, I remember I did that previously: https://lwn.net/Articles/698854/
But hadn't time to fix review replies. Probably, worth to resurrect the patches and clean the dust out from them.
> The vdso data page needs to be moved after the ELF object itself for > this to work. Ideally it should be given an actual ELF segment (and > ideally an ELF section as well.) The easy way to do this is to give > the > linker a dummy vvar page as a properly aligned section at compile > time, > into which space the kernel can map the real vvar page. The only > downside is that the linker likes to put section headings after the > actual data, so it may end up taking up an extra page over the > current > arrangement. However, I think the gains outweigh the losses.
-- Thanks, Dmitry
| |