Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 299014 Details for
Bug 434759
F-9 pv_ops: re-enable execshield patch
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
xen x86_64: Only define load_user_cs_desc() on 32 bit
0001-xen-x86_64-Only-define-load_user_cs_desc-on-32-bi.patch (text/plain), 3.87 KB, created by
Mark McLoughlin
on 2008-03-25 12:41:32 UTC
(
hide
)
Description:
xen x86_64: Only define load_user_cs_desc() on 32 bit
Filename:
MIME Type:
Creator:
Mark McLoughlin
Created:
2008-03-25 12:41:32 UTC
Size:
3.87 KB
patch
obsolete
>From af67b369c3ed0720a78fd341dcabc30c0e49cad1 Mon Sep 17 00:00:00 2001 >From: Mark McLoughlin <markmc@redhat.com> >Date: Tue, 25 Mar 2008 11:56:43 +0000 >Subject: [PATCH] xen x86_64: Only define load_user_cs_desc() on 32 bit > >load_user_cs_desc() is only used on 32 bit, so only >define it in that case. > >Fixes compile failure in native_load_user_cs_desc() >since mm_context_t->user_cs is only available on >32 bit. > >Signed-off-by: Mark McLoughlin <markmc@redhat.com> >--- > arch/x86/kernel/paravirt.c | 2 ++ > arch/x86/xen/enlighten.c | 4 ++++ > include/asm-x86/desc.h | 4 ++++ > include/asm-x86/paravirt.h | 4 ++++ > 4 files changed, 14 insertions(+), 0 deletions(-) > >diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c >index db46adb..a8fce34 100644 >--- a/arch/x86/kernel/paravirt.c >+++ b/arch/x86/kernel/paravirt.c >@@ -331,7 +331,9 @@ struct pv_cpu_ops pv_cpu_ops = { > .read_tscp = native_read_tscp, > .load_tr_desc = native_load_tr_desc, > .set_ldt = native_set_ldt, >+#ifdef CONFIG_X86_32 > .load_user_cs_desc = native_load_user_cs_desc, >+#endif > .load_gdt = native_load_gdt, > .load_idt = native_load_idt, > .store_gdt = native_store_gdt, >diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c >index d29a645..5d37ee5 100644 >--- a/arch/x86/xen/enlighten.c >+++ b/arch/x86/xen/enlighten.c >@@ -336,6 +336,7 @@ static void xen_set_ldt(const void *addr, unsigned entries) > xen_mc_issue(PARAVIRT_LAZY_CPU); > } > >+#ifdef CONFIG_X86_32 > static inline void xen_load_user_cs_desc(int cpu, struct mm_struct *mm) > { > void *gdt; >@@ -351,6 +352,7 @@ static inline void xen_load_user_cs_desc(int cpu, struct mm_struct *mm) > > HYPERVISOR_update_descriptor(mgdt.maddr, descriptor); > } >+#endif > > static void xen_load_gdt(const struct desc_ptr *dtr) > { >@@ -1074,7 +1076,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = { > > .load_tr_desc = paravirt_nop, > .set_ldt = xen_set_ldt, >+#ifdef CONFIG_X86_32 > .load_user_cs_desc = xen_load_user_cs_desc, >+#endif > .load_gdt = xen_load_gdt, > .load_idt = xen_load_idt, > .load_tls = xen_load_tls, >diff --git a/include/asm-x86/desc.h b/include/asm-x86/desc.h >index ec3a84a..9b280be 100644 >--- a/include/asm-x86/desc.h >+++ b/include/asm-x86/desc.h >@@ -95,7 +95,9 @@ static inline int desc_empty(const void *ptr) > > #define load_TLS(t, cpu) native_load_tls(t, cpu) > #define set_ldt native_set_ldt >+#ifdef CONFIG_X86_32 > #define load_user_cs_desc native_load_user_cs_desc >+#endif > > #define write_ldt_entry(dt, entry, desc) \ > native_write_ldt_entry(dt, entry, desc) >@@ -362,10 +364,12 @@ static inline void set_user_cs(struct desc_struct *desc, unsigned long limit) > desc->b = (limit & 0xf0000) | 0x00c0fb00; > } > >+#ifdef CONFIG_X86_32 > static inline void native_load_user_cs_desc(int cpu, struct mm_struct *mm) > { > get_cpu_gdt_table(cpu)[GDT_ENTRY_DEFAULT_USER_CS] = mm->context.user_cs; > } >+#endif > > #ifdef CONFIG_X86_32 > extern void arch_add_exec_range(struct mm_struct *mm, unsigned long limit); >diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h >index 6b469a7..23bcf67 100644 >--- a/include/asm-x86/paravirt.h >+++ b/include/asm-x86/paravirt.h >@@ -113,7 +113,9 @@ struct pv_cpu_ops { > void (*store_gdt)(struct desc_ptr *); > void (*store_idt)(struct desc_ptr *); > void (*set_ldt)(const void *desc, unsigned entries); >+#ifdef CONFIG_X86_32 > void (*load_user_cs_desc)(int cpu, struct mm_struct *mm); >+#endif > unsigned long (*store_tr)(void); > void (*load_tls)(struct thread_struct *t, unsigned int cpu); > #ifdef CONFIG_X86_64 >@@ -768,11 +770,13 @@ static inline void set_ldt(const void *addr, unsigned entries) > { > PVOP_VCALL2(pv_cpu_ops.set_ldt, addr, entries); > } >+#ifdef CONFIG_X86_32 > static inline void load_user_cs_desc(unsigned int cpu, > struct mm_struct *mm) > { > PVOP_VCALL2(pv_cpu_ops.load_user_cs_desc, cpu, mm); > } >+#endif > static inline void store_gdt(struct desc_ptr *dtr) > { > PVOP_VCALL1(pv_cpu_ops.store_gdt, dtr); >-- >1.5.4.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 434759
:
298994
|
298996
| 299014