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 161729 Details for
Bug 253190
NULL pointer deref in nfs_create
[?]
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]
patch required for recent assembler
linux-2.6-seg-5.patch (text/plain), 4.32 KB, created by
Peter Zijlstra
on 2007-08-17 12:06:00 UTC
(
hide
)
Description:
patch required for recent assembler
Filename:
MIME Type:
Creator:
Peter Zijlstra
Created:
2007-08-17 12:06:00 UTC
Size:
4.32 KB
patch
obsolete
>Index: linux-2.6.9/arch/i386/kernel/process.c >=================================================================== >--- linux-2.6.9.orig/arch/i386/kernel/process.c 2007-08-17 10:59:44.000000000 +0200 >+++ linux-2.6.9/arch/i386/kernel/process.c 2007-08-17 12:02:20.000000000 +0200 >@@ -634,8 +634,8 @@ struct task_struct fastcall * __switch_t > * Save away %fs and %gs. No need to save %es and %ds, as > * those are always kernel segments while inside the kernel. > */ >- asm volatile("movl %%fs,%0":"=m" (*(int *)&prev->fs)); >- asm volatile("movl %%gs,%0":"=m" (*(int *)&prev->gs)); >+ asm volatile("mov %%fs,%0":"=m" (prev->fs)); >+ asm volatile("mov %%gs,%0":"=m" (prev->gs)); > > /* > * Restore %fs and %gs if needed. >Index: linux-2.6.9/arch/i386/kernel/vm86.c >=================================================================== >--- linux-2.6.9.orig/arch/i386/kernel/vm86.c 2007-08-17 10:59:44.000000000 +0200 >+++ linux-2.6.9/arch/i386/kernel/vm86.c 2007-08-17 12:02:30.000000000 +0200 >@@ -313,8 +313,8 @@ static void do_sys_vm86(struct kernel_vm > */ > info->regs32->eax = 0; > tsk->thread.saved_esp0 = tsk->thread.esp0; >- asm volatile("movl %%fs,%0":"=m" (tsk->thread.saved_fs)); >- asm volatile("movl %%gs,%0":"=m" (tsk->thread.saved_gs)); >+ asm volatile("mov %%fs,%0":"=m" (tsk->thread.saved_fs)); >+ asm volatile("mov %%gs,%0":"=m" (tsk->thread.saved_gs)); > > #ifndef CONFIG_X86_NO_TSS > tss = init_tss + get_cpu(); >Index: linux-2.6.9/arch/x86_64/kernel/process.c >=================================================================== >--- linux-2.6.9.orig/arch/x86_64/kernel/process.c 2007-08-17 10:59:45.000000000 +0200 >+++ linux-2.6.9/arch/x86_64/kernel/process.c 2007-08-17 12:02:20.000000000 +0200 >@@ -374,10 +374,10 @@ int copy_thread(int nr, unsigned long cl > p->thread.fs = me->thread.fs; > p->thread.gs = me->thread.gs; > >- asm("movl %%gs,%0" : "=m" (p->thread.gsindex)); >- asm("movl %%fs,%0" : "=m" (p->thread.fsindex)); >- asm("movl %%es,%0" : "=m" (p->thread.es)); >- asm("movl %%ds,%0" : "=m" (p->thread.ds)); >+ asm("mov %%gs,%0" : "=m" (p->thread.gsindex)); >+ asm("mov %%fs,%0" : "=m" (p->thread.fsindex)); >+ asm("mov %%es,%0" : "=m" (p->thread.es)); >+ asm("mov %%ds,%0" : "=m" (p->thread.ds)); > > if (unlikely(me->thread.io_bitmap_ptr != NULL)) { > p->thread.io_bitmap_ptr = kmalloc(IO_BITMAP_BYTES, GFP_KERNEL); >@@ -438,11 +438,11 @@ struct task_struct *__switch_to(struct t > * Switch DS and ES. > * This won't pick up thread selector changes, but I guess that is ok. > */ >- asm volatile("movl %%es,%0" : "=m" (prev->es)); >+ asm volatile("mov %%es,%0" : "=m" (prev->es)); > if (unlikely(next->es | prev->es)) > loadsegment(es, next->es); > >- asm volatile ("movl %%ds,%0" : "=m" (prev->ds)); >+ asm volatile ("mov %%ds,%0" : "=m" (prev->ds)); > if (unlikely(next->ds | prev->ds)) > loadsegment(ds, next->ds); > >@@ -459,7 +459,7 @@ struct task_struct *__switch_to(struct t > */ > { > unsigned fsindex; >- asm volatile("movl %%fs,%0" : "=g" (fsindex)); >+ asm volatile("movl %%fs,%0" : "=r" (fsindex)); > /* segment register != 0 always requires a reload. > also reload when it has changed. > when prev process used 64bit base always reload >@@ -480,7 +480,7 @@ struct task_struct *__switch_to(struct t > } > { > unsigned gsindex; >- asm volatile("movl %%gs,%0" : "=g" (gsindex)); >+ asm volatile("movl %%gs,%0" : "=r" (gsindex)); > if (unlikely(gsindex | next->gsindex | prev->gs)) { > load_gs_index(next->gsindex); > if (gsindex) >Index: linux-2.6.9/include/asm-i386/system.h >=================================================================== >--- linux-2.6.9.orig/include/asm-i386/system.h 2004-10-18 23:53:06.000000000 +0200 >+++ linux-2.6.9/include/asm-i386/system.h 2007-08-17 12:02:20.000000000 +0200 >@@ -81,7 +81,7 @@ static inline unsigned long _get_base(ch > #define loadsegment(seg,value) \ > asm volatile("\n" \ > "1:\t" \ >- "movl %0,%%" #seg "\n" \ >+ "mov %0,%%" #seg "\n" \ > "2:\n" \ > ".section .fixup,\"ax\"\n" \ > "3:\t" \ >@@ -93,13 +93,13 @@ static inline unsigned long _get_base(ch > ".align 4\n\t" \ > ".long 1b,3b\n" \ > ".previous" \ >- : :"m" (*(unsigned int *)&(value))) >+ : :"m" (value)) > > /* > * Save a segment register away > */ > #define savesegment(seg, value) \ >- asm volatile("movl %%" #seg ",%0":"=m" (*(int *)&(value))) >+ asm volatile("mov %%" #seg ",%0":"=m" (value)) > > /* > * Clear and set 'TS' bit respectively
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 253190
:
161728
| 161729 |
161730