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]
Message-ID: <20080121204451.GT7338@blackpad>
Date:	Mon, 21 Jan 2008 18:44:51 -0200
From:	Eduardo Pereira Habkost <ehabkost@...hat.com>
To:	Marcelo Tosatti <marcelo@...ck.org>
Cc:	mingo@...e.hu, gcosta@...hat.com, glommer@...il.com,
	jeremy@...p.org, chrisw@...hat.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] fill in missing pv_mmu_ops entries for
	PAGETABLE_LEVELS >= 3

On Sat, Jan 19, 2008 at 04:19:09PM -0200, Marcelo Tosatti wrote:
> On Fri, Jan 18, 2008 at 03:20:15PM -0200, Glauber de Oliveira Costa wrote:
> > Hi,
> > 
> > This small series provides some more fixes towards the goal
> > to have the PARAVIRT selectable for x86_64. After that, just
> > some more small steps are needed.
> > 
> > The first fix is not even specific for PARAVIRT, and it's actually
> > preventing the whole tree from booting.
> > 
> 
> And the following allows PARAVIRT kernels to boot on x86_64.
> 
> -----
> 
> Fill in missing pagetable manipulation entries in pv_mmu_ops 
> for PAGETABLE_LEVELS >= 3.
> 
> Signed-off-by: Marcelo Tosatti <mtosatti@...hat.com>
> 
> 
> Index: linux-2.6-x86/arch/x86/kernel/paravirt.c
> ===================================================================
> --- linux-2.6-x86.orig/arch/x86/kernel/paravirt.c
> +++ linux-2.6-x86/arch/x86/kernel/paravirt.c
> @@ -396,16 +396,25 @@ struct pv_mmu_ops pv_mmu_ops = {
>  	.kmap_atomic_pte = kmap_atomic,
>  #endif
>  
> +#if PAGETABLE_LEVELS >= 3
>  #ifdef CONFIG_X86_PAE
>  	.set_pte_atomic = native_set_pte_atomic,
>  	.set_pte_present = native_set_pte_present,
> -	.set_pud = native_set_pud,
>  	.pte_clear = native_pte_clear,
>  	.pmd_clear = native_pmd_clear,
> -
> +#endif
> +	.set_pud = native_set_pud,
> +	.set_pgd = native_set_pgd,
> +	.pgd_clear = native_pgd_clear,
>  	.pmd_val = native_pmd_val,
>  	.make_pmd = native_make_pmd,

Current x86.git doesn't have .set_pgd or .pgd_clear fields on
pv_mmu_ops.

Those fields, and the implementations of set_pgd(), __pud() and pud_val()
were missing on the last series from Glauber. I will send the missing
bits today.

> +	.pud_clear = native_pud_clear,

On the patches I will send, pud_clear() and pgd_clear() aren't present
on pv_mmu_ops and are implemented using set_pud() and set_pgd().

-- 
Eduardo
--
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