Update sparse tree with "read_zero_pagealigned() locking fix" patch from 2.6.18.8 tree
PATCH 3/7 Update sparse tree with "read_zero_pagealigned() locking fix" patch from 2.6.18.8 tree
Update sparse tree with "read_zero_pagealigned() locking fix" patch from 2.6.18.8 tree [1]
Signed-off-by S.Çağlar Onur <[email protected]>
linux-2.6-xen-sparse/drivers/char/mem.c +8 -4
@@ -618,7 +618,8 @@ static inline size_t read_zero_pagealign count = size;zap_page_range (vma, addr, count,NULL ); -zeromap_page_range (vma, addr, count,PAGE_COPY ); +if (zeromap_page_range (vma, addr, count,PAGE_COPY )) +break ; size -= count; buf += count;
@@ -685,11 +686,14 @@ out:static int mmap_zero (struct file * file,struct vm_area_struct * vma) { +int err; +if (vma->vm_flags &VM_SHARED )return shmem_zero_setup (vma); -if (zeromap_page_range (vma, vma->vm_start, vma->vm_end - vma->vm_start, vma->vm_page_prot)) -return -EAGAIN ; -return 0 ; + err =zeromap_page_range (vma, vma->vm_start, + vma->vm_end - vma->vm_start, vma->vm_page_prot); +BUG_ON (err == -EEXIST ); +return err; }#else /* CONFIG_MMU */ static ssize_t read_zero(struct file * file, char * buf,
linux-2.6-xen-sparse/mm/memory.c +29 -12
89 lines not on this page · raw message
Signature · 4 lines
S.Çağlar Onur <[email protected]> http://cekirdek.pardus.org.tr/~caglar/ Linux is like living in a teepee. No Windows, no Gates and an Apache in house!