Searched hist:"617 d34d9e5d8326ec8f188c616aa06ac59d083fe" (Results 1 – 4 of 4) sorted by relevance
/openbmc/linux/arch/x86/mm/ |
H A D | pgtable.c | diff 617d34d9e5d8326ec8f188c616aa06ac59d083fe Tue Sep 21 14:01:51 CDT 2010 Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> x86, mm: Hold mm->page_table_lock while doing vmalloc_sync
Take mm->page_table_lock while syncing the vmalloc region. This prevents a race with the Xen pagetable pin/unpin code, which expects that the page_table_lock is already held. If this race occurs, then Xen can see an inconsistent page type (a page can either be read/write or a pagetable page, and pin/unpin converts it between them), which will cause either the pin or the set_p[gm]d to fail; either will crash the kernel.
vmalloc_sync_all() should be called rarely, so this extra use of page_table_lock should not interfere with its normal users.
The mm pointer is stashed in the pgd page's index field, as that won't be otherwise used for pgds.
Reported-by: Ian Campbell <ian.cambell@eu.citrix.com> Originally-by: Jan Beulich <jbeulich@novell.com> LKML-Reference: <4CB88A4C.1080305@goop.org> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
H A D | fault.c | diff f01f7c56a1425b9749a99af821e1de334fb64d7e Tue Oct 19 17:17:37 CDT 2010 Borislav Petkov <borislav.petkov@amd.com> x86, mm: Fix incorrect data type in vmalloc_sync_all()
arch/x86/mm/fault.c: In function 'vmalloc_sync_all': arch/x86/mm/fault.c:238: warning: assignment makes integer from pointer without a cast
introduced by 617d34d9e5d8326ec8f188c616aa06ac59d083fe.
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com> LKML-Reference: <20101020103642.GA3135@kryptos.osrc.amd.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> diff 617d34d9e5d8326ec8f188c616aa06ac59d083fe Tue Sep 21 14:01:51 CDT 2010 Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> x86, mm: Hold mm->page_table_lock while doing vmalloc_sync
Take mm->page_table_lock while syncing the vmalloc region. This prevents a race with the Xen pagetable pin/unpin code, which expects that the page_table_lock is already held. If this race occurs, then Xen can see an inconsistent page type (a page can either be read/write or a pagetable page, and pin/unpin converts it between them), which will cause either the pin or the set_p[gm]d to fail; either will crash the kernel.
vmalloc_sync_all() should be called rarely, so this extra use of page_table_lock should not interfere with its normal users.
The mm pointer is stashed in the pgd page's index field, as that won't be otherwise used for pgds.
Reported-by: Ian Campbell <ian.cambell@eu.citrix.com> Originally-by: Jan Beulich <jbeulich@novell.com> LKML-Reference: <4CB88A4C.1080305@goop.org> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
H A D | init_64.c | diff 617d34d9e5d8326ec8f188c616aa06ac59d083fe Tue Sep 21 14:01:51 CDT 2010 Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> x86, mm: Hold mm->page_table_lock while doing vmalloc_sync
Take mm->page_table_lock while syncing the vmalloc region. This prevents a race with the Xen pagetable pin/unpin code, which expects that the page_table_lock is already held. If this race occurs, then Xen can see an inconsistent page type (a page can either be read/write or a pagetable page, and pin/unpin converts it between them), which will cause either the pin or the set_p[gm]d to fail; either will crash the kernel.
vmalloc_sync_all() should be called rarely, so this extra use of page_table_lock should not interfere with its normal users.
The mm pointer is stashed in the pgd page's index field, as that won't be otherwise used for pgds.
Reported-by: Ian Campbell <ian.cambell@eu.citrix.com> Originally-by: Jan Beulich <jbeulich@novell.com> LKML-Reference: <4CB88A4C.1080305@goop.org> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
/openbmc/linux/arch/x86/include/asm/ |
H A D | pgtable.h | diff 617d34d9e5d8326ec8f188c616aa06ac59d083fe Tue Sep 21 14:01:51 CDT 2010 Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> x86, mm: Hold mm->page_table_lock while doing vmalloc_sync
Take mm->page_table_lock while syncing the vmalloc region. This prevents a race with the Xen pagetable pin/unpin code, which expects that the page_table_lock is already held. If this race occurs, then Xen can see an inconsistent page type (a page can either be read/write or a pagetable page, and pin/unpin converts it between them), which will cause either the pin or the set_p[gm]d to fail; either will crash the kernel.
vmalloc_sync_all() should be called rarely, so this extra use of page_table_lock should not interfere with its normal users.
The mm pointer is stashed in the pgd page's index field, as that won't be otherwise used for pgds.
Reported-by: Ian Campbell <ian.cambell@eu.citrix.com> Originally-by: Jan Beulich <jbeulich@novell.com> LKML-Reference: <4CB88A4C.1080305@goop.org> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|