Re: [PATCH 3/3] x86, vdso32: handle 32 bit vDSO larger one page

From: Andy Lutomirski
Date: Wed Mar 12 2014 - 19:01:12 EST


On Wed, Mar 12, 2014 at 3:58 PM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 03/12/2014 03:51 PM, Stefani Seibold wrote:
>> This patch enables 32 bit vDSO which are larger than a page. Currently
>> two pages are reserved, this should be enough for future improvements.
>>
>> Signed-off-by: Stefani Seibold <stefani@xxxxxxxxxxx>
>> ---
>> arch/x86/include/asm/fixmap.h | 4 +++-
>> arch/x86/vdso/vdso32-setup.c | 29 +++++++++++++++++++----------
>> 2 files changed, 22 insertions(+), 11 deletions(-)
>>
>> diff --git a/arch/x86/include/asm/fixmap.h b/arch/x86/include/asm/fixmap.h
>> index 094d0cc..f513f14 100644
>> --- a/arch/x86/include/asm/fixmap.h
>> +++ b/arch/x86/include/asm/fixmap.h
>> @@ -43,6 +43,8 @@ extern unsigned long __FIXADDR_TOP;
>>
>> #define FIXADDR_USER_START __fix_to_virt(FIX_VDSO)
>> #define FIXADDR_USER_END __fix_to_virt(FIX_VDSO - 1)
>> +
>> +#define MAX_VDSO_PAGES 2
>> #else
>> #define FIXADDR_TOP (VSYSCALL_END-PAGE_SIZE)
>>
>> @@ -74,7 +76,7 @@ extern unsigned long __FIXADDR_TOP;
>> enum fixed_addresses {
>> #ifdef CONFIG_X86_32
>> FIX_HOLE,
>> - FIX_VDSO,
>> + FIX_VDSO = MAX_VDSO_PAGES,
>> VVAR_PAGE,
>> VSYSCALL_HPET,
>
> Can we make this FIX_HOLE + MAX_VDSO_PAGES or at least a comment
> explaning the constraint here... otherwise I fear random breakage.

Note that this code is completely unnecessary if either of my patch
sets is accepted. Since you're the maintainer, can you give an
opinion? :)

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/