Hi Tommy, I am using 2.4.3 code and in that linux/mm/vmallo.c contains the following code which is slightly different from the patch you gave. } while (address && (address < end)); unlock_kernel(); flush_tlb_all(); return ret; Can you please suggest how to modify this. Regards, --Rajesh On Thu, 16 May 2002, Tommy S. Christensen wrote: > Alan Cox wrote: > > > > > But the same module is working fine and kernel is also fine if i use NFS > > > and insert the module. > > > Any further info ? > > > > Not really. The fact it works with NFS and not ramdisk may simply be that > > in one case it corrupts memory that is used, and the other it corrupts > > memory that isnt > > Using a ramdisk increases the pressure on memory. So the difference could > be that one case hits the cache aliasing problem, the other doesn't. > > Try this patch and see if it helps. > > -Tommy > > > > Index: mm/vmalloc.c > =================================================================== > RCS file: /cvs/linux/mm/vmalloc.c,v > retrieving revision 1.28 > retrieving revision 1.28.2.1 > diff -u -r1.28 -r1.28.2.1 > --- mm/vmalloc.c 2001/10/19 01:25:06 1.28 > +++ mm/vmalloc.c 2001/12/28 21:06:01 1.28.2.1 > @@ -163,6 +163,7 @@ > ret = 0; > } while (address && (address < end)); > spin_unlock(&init_mm.page_table_lock); > + flush_cache_all(); > return ret; > } >