lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 20 Aug 2015 17:04:23 -0600
From:	Toshi Kani <toshi.kani@...com>
To:	Thomas Gleixner <tglx@...utronix.de>
Cc:	hpa@...or.com, mingo@...hat.com, akpm@...ux-foundation.org,
	bp@...en8.de, linux-mm@...ck.org, linux-kernel@...r.kernel.org,
	x86@...nel.org, jgross@...e.com, konrad.wilk@...cle.com,
	elliott@...com
Subject: Re: [PATCH v3 1/10] x86/vdso32: Define PGTABLE_LEVELS to 32bit VDSO

On 8/20/2015 1:46 PM, Thomas Gleixner wrote:
> On Wed, 5 Aug 2015, Toshi Kani wrote:
>
>> In case of CONFIG_X86_64, vdso32/vclock_gettime.c fakes a 32bit
>> kernel configuration by re-defining it to CONFIG_X86_32.  However,
>> it does not re-define CONFIG_PGTABLE_LEVELS leaving it as 4 levels.
>> Fix it by re-defining CONFIG_PGTABLE_LEVELS to 2 as X86_PAE is not
>> set.
> You fail to explain WHY this is required. I have not yet spotted any
> code in vclock_gettime.c which is affected by this.

Sorry about that.  Without this patch 01, applying patch 02 & 03 causes 
the following compile errors in vclock_gettime.c.  This is because it 
includes pgtable_type.h (see blow), which now requires PUD_SHIFT and 
PMD_SHIFT defined properly.  In case of X86_32, pgtable_type.h includes 
pgtable_nopud.h and pgtable-nopmd.h, which define these SHIFTs when 
CONFIG_PGTABLE_LEVEL is set to 2 (or 3 if PAE is also defined).

In file included from ./arch/x86/include/asm/paravirt_types.h:44:0,
                  from ./arch/x86/include/asm/ptrace.h:71,
                  from ./arch/x86/include/asm/alternative.h:8,
                  from ./arch/x86/include/asm/bitops.h:16,
                  from include/linux/bitops.h:36,
                  from include/linux/kernel.h:10,
                  from include/linux/list.h:8,
                  from include/linux/preempt.h:10,
                  from include/linux/spinlock.h:50,
                  from include/linux/seqlock.h:35,
                  from include/linux/time.h:5,
                  from include/uapi/linux/timex.h:56,
                  from include/linux/timex.h:56,
                  from include/linux/clocksource.h:12,
                  from ./arch/x86/include/asm/vgtod.h:5,
                  from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
                  from arch/x86/entry/vdso/vdso32/vclock_gettime.c:30:
./arch/x86/include/asm/pgtable_types.h: In function pud_pfn_mask・
./arch/x86/include/asm/pgtable_types.h:282:23: error: PUD_SHIFT・ 
undeclared (first use in this function)
    return PUD_PAGE_MASK & PHYSICAL_PAGE_MASK;
                        ^
./arch/x86/include/asm/pgtable_types.h:282:23: note: each undeclared 
identifier is reported only once for each function it appears in
./arch/x86/include/asm/pgtable_types.h: In function pud_flags_mask・
./arch/x86/include/asm/pgtable_types.h:290:25: error: PUD_SHIFT・ 
undeclared (first use in this function)
    return ~(PUD_PAGE_MASK & (pudval_t)PHYSICAL_PAGE_MASK);
                          ^
./arch/x86/include/asm/pgtable_types.h: In function pmd_pfn_mask・
./arch/x86/include/asm/pgtable_types.h:303:23: error: PMD_SHIFT・ 
undeclared (first use in this function)
    return PMD_PAGE_MASK & PHYSICAL_PAGE_MASK;
                        ^
./arch/x86/include/asm/pgtable_types.h: In function pmd_flags_mask・
./arch/x86/include/asm/pgtable_types.h:311:25: error: PMD_SHIFT・ 
undeclared (first use in this function)
    return ~(PMD_PAGE_MASK & (pmdval_t)PHYSICAL_PAGE_MASK);
                          ^
scripts/Makefile.build:258: recipe for target 
'arch/x86/entry/vdso/vdso32/vclock_gettime.o' failed
make[3]: *** [arch/x86/entry/vdso/vdso32/vclock_gettime.o] Error 1
make[3]: *** Waiting for unfinished jobs....

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ