All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20071112015643.GA9291@wotan.suse.de>

diff --git a/a/1.txt b/N1/1.txt
index cd77757..62222f3 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -61,7 +61,8 @@ take a look at this all together, the discussion will be more coherent ;)
  24 files changed, 238 insertions(+), 359 deletions(-)
 
 Index: linux-2.6/include/linux/mm.h
-=================================--- linux-2.6.orig/include/linux/mm.h
+===================================================================
+--- linux-2.6.orig/include/linux/mm.h
 +++ linux-2.6/include/linux/mm.h
 @@ -162,8 +162,6 @@ struct vm_operations_struct {
  	void (*open)(struct vm_area_struct * area);
@@ -86,7 +87,8 @@ Index: linux-2.6/include/linux/mm.h
   */
  #define NOPFN_SIGBUS	((unsigned long) -1)
 Index: linux-2.6/kernel/relay.c
-=================================--- linux-2.6.orig/kernel/relay.c
+===================================================================
+--- linux-2.6.orig/kernel/relay.c
 +++ linux-2.6/kernel/relay.c
 @@ -37,37 +37,31 @@ static void relay_file_mmap_close(struct
  }
@@ -136,7 +138,8 @@ Index: linux-2.6/kernel/relay.c
  };
  
 Index: linux-2.6/mm/memory.c
-=================================--- linux-2.6.orig/mm/memory.c
+===================================================================
+--- linux-2.6.orig/mm/memory.c
 +++ linux-2.6/mm/memory.c
 @@ -1044,8 +1044,7 @@ int get_user_pages(struct task_struct *t
  		if (pages)
@@ -161,9 +164,9 @@ Index: linux-2.6/mm/memory.c
 -		ret = 0;
 -		vmf.page = vma->vm_ops->nopage(vma, address & PAGE_MASK, &ret);
 -		/* no page was available -- either SIGBUS or OOM */
--		if (unlikely(vmf.page = NOPAGE_SIGBUS))
+-		if (unlikely(vmf.page == NOPAGE_SIGBUS))
 -			return VM_FAULT_SIGBUS;
--		else if (unlikely(vmf.page = NOPAGE_OOM))
+-		else if (unlikely(vmf.page == NOPAGE_OOM))
 -			return VM_FAULT_OOM;
 -	}
 +	ret = vma->vm_ops->fault(vma, &vmf);
@@ -182,7 +185,8 @@ Index: linux-2.6/mm/memory.c
  						pte, pmd, write_access, entry);
  				if (unlikely(vma->vm_ops->nopfn))
 Index: linux-2.6/mm/mincore.c
-=================================--- linux-2.6.orig/mm/mincore.c
+===================================================================
+--- linux-2.6.orig/mm/mincore.c
 +++ linux-2.6/mm/mincore.c
 @@ -33,7 +33,7 @@ static unsigned char mincore_page(struct
  	 * When tmpfs swaps out a page from a file, any process mapping that
@@ -194,7 +198,8 @@ Index: linux-2.6/mm/mincore.c
  	 * However when tmpfs moves the page from pagecache and into swapcache,
  	 * it is still in core, but the find_get_page below won't find it.
 Index: linux-2.6/mm/mmap.c
-=================================--- linux-2.6.orig/mm/mmap.c
+===================================================================
+--- linux-2.6.orig/mm/mmap.c
 +++ linux-2.6/mm/mmap.c
 @@ -2149,24 +2149,23 @@ int may_expand_vm(struct mm_struct *mm, 
  }
@@ -239,7 +244,8 @@ Index: linux-2.6/mm/mmap.c
  
  /*
 Index: linux-2.6/arch/ia64/ia32/binfmt_elf32.c
-=================================--- linux-2.6.orig/arch/ia64/ia32/binfmt_elf32.c
+===================================================================
+--- linux-2.6.orig/arch/ia64/ia32/binfmt_elf32.c
 +++ linux-2.6/arch/ia64/ia32/binfmt_elf32.c
 @@ -52,33 +52,29 @@ extern struct page *ia32_shared_page[];
  extern unsigned long *ia32_gdt;
@@ -291,7 +297,8 @@ Index: linux-2.6/arch/ia64/ia32/binfmt_elf32.c
  
  void
 Index: linux-2.6/drivers/char/agp/alpha-agp.c
-=================================--- linux-2.6.orig/drivers/char/agp/alpha-agp.c
+===================================================================
+--- linux-2.6.orig/drivers/char/agp/alpha-agp.c
 +++ linux-2.6/drivers/char/agp/alpha-agp.c
 @@ -11,29 +11,28 @@
  
@@ -313,7 +320,7 @@ Index: linux-2.6/drivers/char/agp/alpha-agp.c
 +						+ agp->aperture.bus_base;
  	pa = agp->ops->translate(agp, dma_addr);
  
- 	if (pa = (unsigned long)-EINVAL)
+ 	if (pa == (unsigned long)-EINVAL)
 -		return NULL;	/* no translation */
 +		return VM_FAULT_SIGBUS;	/* no translation */
  
@@ -329,7 +336,8 @@ Index: linux-2.6/drivers/char/agp/alpha-agp.c
 +	return 0;
  }
  
- static struct aper_size_info_fixed alpha_core_agp_sizes[] @@ -42,7 +41,7 @@ static struct aper_size_info_fixed alpha
+ static struct aper_size_info_fixed alpha_core_agp_sizes[] =
+@@ -42,7 +41,7 @@ static struct aper_size_info_fixed alpha
  };
  
  struct vm_operations_struct alpha_core_agp_vm_ops = {
@@ -339,7 +347,8 @@ Index: linux-2.6/drivers/char/agp/alpha-agp.c
  
  
 Index: linux-2.6/drivers/char/drm/drm_vm.c
-=================================--- linux-2.6.orig/drivers/char/drm/drm_vm.c
+===================================================================
+--- linux-2.6.orig/drivers/char/drm/drm_vm.c
 +++ linux-2.6/drivers/char/drm/drm_vm.c
 @@ -66,7 +66,7 @@ static pgprot_t drm_io_prot(uint32_t map
  }
@@ -379,7 +388,7 @@ Index: linux-2.6/drivers/char/drm/drm_vm.c
  	r_list = drm_hash_entry(hash, struct drm_map_list, hash);
  	map = r_list->map;
  
- 	if (map && map->type = _DRM_AGP) {
+ 	if (map && map->type == _DRM_AGP) {
 -		unsigned long offset = address - vma->vm_start;
 +		/*
 +		 * Using vm_pgoff as a selector forces us to use this unusual
@@ -650,7 +659,8 @@ Index: linux-2.6/drivers/char/drm/drm_vm.c
  		    page_to_pfn(virt_to_page(map->handle)),
  		    vma->vm_end - vma->vm_start, vma->vm_page_prot))
 Index: linux-2.6/drivers/ieee1394/dma.c
-=================================--- linux-2.6.orig/drivers/ieee1394/dma.c
+===================================================================
+--- linux-2.6.orig/drivers/ieee1394/dma.c
 +++ linux-2.6/drivers/ieee1394/dma.c
 @@ -231,37 +231,32 @@ void dma_region_sync_for_device(struct d
  
@@ -716,7 +726,8 @@ Index: linux-2.6/drivers/ieee1394/dma.c
  		return -EINVAL;
  
 Index: linux-2.6/drivers/infiniband/hw/ipath/ipath_file_ops.c
-=================================--- linux-2.6.orig/drivers/infiniband/hw/ipath/ipath_file_ops.c
+===================================================================
+--- linux-2.6.orig/drivers/infiniband/hw/ipath/ipath_file_ops.c
 +++ linux-2.6/drivers/infiniband/hw/ipath/ipath_file_ops.c
 @@ -1120,33 +1120,24 @@ bail:
  }
@@ -763,7 +774,8 @@ Index: linux-2.6/drivers/infiniband/hw/ipath/ipath_file_ops.c
  
  static int mmap_kvaddr(struct vm_area_struct *vma, u64 pgaddr,
 Index: linux-2.6/drivers/kvm/kvm_main.c
-=================================--- linux-2.6.orig/drivers/kvm/kvm_main.c
+===================================================================
+--- linux-2.6.orig/drivers/kvm/kvm_main.c
 +++ linux-2.6/drivers/kvm/kvm_main.c
 @@ -2534,30 +2534,24 @@ static int kvm_vcpu_ioctl_debug_guest(st
  	return r;
@@ -779,11 +791,11 @@ Index: linux-2.6/drivers/kvm/kvm_main.c
  	struct page *page;
  
 -	pgoff = ((address - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;
--	if (pgoff = 0)
-+	if (vmf->pgoff = 0)
+-	if (pgoff == 0)
++	if (vmf->pgoff == 0)
  		page = virt_to_page(vcpu->run);
--	else if (pgoff = KVM_PIO_PAGE_OFFSET)
-+	else if (vmf->pgoff = KVM_PIO_PAGE_OFFSET)
+-	else if (pgoff == KVM_PIO_PAGE_OFFSET)
++	else if (vmf->pgoff == KVM_PIO_PAGE_OFFSET)
  		page = virt_to_page(vcpu->pio_data);
  	else
 -		return NOPAGE_SIGBUS;
@@ -838,7 +850,8 @@ Index: linux-2.6/drivers/kvm/kvm_main.c
  
  static int kvm_vm_mmap(struct file *file, struct vm_area_struct *vma)
 Index: linux-2.6/drivers/media/video/videobuf-dma-sg.c
-=================================--- linux-2.6.orig/drivers/media/video/videobuf-dma-sg.c
+===================================================================
+--- linux-2.6.orig/drivers/media/video/videobuf-dma-sg.c
 +++ linux-2.6/drivers/media/video/videobuf-dma-sg.c
 @@ -385,30 +385,26 @@ videobuf_vm_close(struct vm_area_struct 
   * now ...).  Bounce buffers don't work very well for the data rates
@@ -870,7 +883,8 @@ Index: linux-2.6/drivers/media/video/videobuf-dma-sg.c
 +	return 0;
  }
  
- static struct vm_operations_struct videobuf_vm_ops  {
+ static struct vm_operations_struct videobuf_vm_ops =
+ {
  	.open     = videobuf_vm_open,
  	.close    = videobuf_vm_close,
 -	.nopage   = videobuf_vm_nopage,
@@ -879,7 +893,8 @@ Index: linux-2.6/drivers/media/video/videobuf-dma-sg.c
  
  /* ---------------------------------------------------------------------
 Index: linux-2.6/drivers/scsi/sg.c
-=================================--- linux-2.6.orig/drivers/scsi/sg.c
+===================================================================
+--- linux-2.6.orig/drivers/scsi/sg.c
 +++ linux-2.6/drivers/scsi/sg.c
 @@ -1144,23 +1144,22 @@ sg_fasync(int fd, struct file *filp, int
  	return (retval < 0) ? retval : 0;
@@ -897,7 +912,7 @@ Index: linux-2.6/drivers/scsi/sg.c
  	struct scatterlist *sg;
  	int k;
  
- 	if ((NULL = vma) || (!(sfp = (Sg_fd *) vma->vm_private_data)))
+ 	if ((NULL == vma) || (!(sfp = (Sg_fd *) vma->vm_private_data)))
 -		return page;
 +		return VM_FAULT_SIGBUS;
  	rsv_schp = &sfp->reserve;
@@ -939,7 +954,8 @@ Index: linux-2.6/drivers/scsi/sg.c
  
  static int
 Index: linux-2.6/drivers/usb/mon/mon_bin.c
-=================================--- linux-2.6.orig/drivers/usb/mon/mon_bin.c
+===================================================================
+--- linux-2.6.orig/drivers/usb/mon/mon_bin.c
 +++ linux-2.6/drivers/usb/mon/mon_bin.c
 @@ -1045,33 +1045,31 @@ static void mon_bin_vma_close(struct vm_
  /*
@@ -983,7 +999,8 @@ Index: linux-2.6/drivers/usb/mon/mon_bin.c
  	vma->vm_flags |= VM_RESERVED;
  	vma->vm_private_data = filp->private_data;
 Index: linux-2.6/drivers/video/fb_defio.c
-=================================--- linux-2.6.orig/drivers/video/fb_defio.c
+===================================================================
+--- linux-2.6.orig/drivers/video/fb_defio.c
 +++ linux-2.6/drivers/video/fb_defio.c
 @@ -25,8 +25,8 @@
  #include <linux/pagemap.h>
@@ -1030,7 +1047,8 @@ Index: linux-2.6/drivers/video/fb_defio.c
  };
  
 Index: linux-2.6/sound/core/pcm_native.c
-=================================--- linux-2.6.orig/sound/core/pcm_native.c
+===================================================================
+--- linux-2.6.orig/sound/core/pcm_native.c
 +++ linux-2.6/sound/core/pcm_native.c
 @@ -3018,26 +3018,23 @@ static unsigned int snd_pcm_capture_poll
  /*
@@ -1045,7 +1063,7 @@ Index: linux-2.6/sound/core/pcm_native.c
  	struct snd_pcm_runtime *runtime;
 -	struct page * page;
  	
- 	if (substream = NULL)
+ 	if (substream == NULL)
 -		return NOPAGE_SIGBUS;
 +		return VM_FAULT_SIGBUS;
  	runtime = substream->runtime;
@@ -1059,7 +1077,8 @@ Index: linux-2.6/sound/core/pcm_native.c
 +	return 0;
  }
  
- static struct vm_operations_struct snd_pcm_vm_ops_status  {
+ static struct vm_operations_struct snd_pcm_vm_ops_status =
+ {
 -	.nopage =	snd_pcm_mmap_status_nopage,
 +	.fault =	snd_pcm_mmap_status_fault,
  };
@@ -1078,7 +1097,7 @@ Index: linux-2.6/sound/core/pcm_native.c
  	struct snd_pcm_runtime *runtime;
 -	struct page * page;
  	
- 	if (substream = NULL)
+ 	if (substream == NULL)
 -		return NOPAGE_SIGBUS;
 +		return VM_FAULT_SIGBUS;
  	runtime = substream->runtime;
@@ -1092,7 +1111,8 @@ Index: linux-2.6/sound/core/pcm_native.c
 +	return 0;
  }
  
- static struct vm_operations_struct snd_pcm_vm_ops_control  {
+ static struct vm_operations_struct snd_pcm_vm_ops_control =
+ {
 -	.nopage =	snd_pcm_mmap_control_nopage,
 +	.fault =	snd_pcm_mmap_control_fault,
  };
@@ -1115,13 +1135,13 @@ Index: linux-2.6/sound/core/pcm_native.c
 @@ -3130,33 +3124,30 @@ static struct page *snd_pcm_mmap_data_no
  	size_t dma_bytes;
  	
- 	if (substream = NULL)
+ 	if (substream == NULL)
 -		return NOPAGE_SIGBUS;
 +		return VM_FAULT_SIGBUS;
  	runtime = substream->runtime;
 -	offset = area->vm_pgoff << PAGE_SHIFT;
 -	offset += address - area->vm_start;
--	snd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_SIGBUS);
+-	snd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_SIGBUS);
 +	offset = vmf->pgoff << PAGE_SHIFT;
  	dma_bytes = PAGE_ALIGN(runtime->dma_bytes);
  	if (offset > dma_bytes - PAGE_SIZE)
@@ -1145,7 +1165,8 @@ Index: linux-2.6/sound/core/pcm_native.c
 +	return 0;
  }
  
- static struct vm_operations_struct snd_pcm_vm_ops_data  {
+ static struct vm_operations_struct snd_pcm_vm_ops_data =
+ {
  	.open =		snd_pcm_mmap_data_open,
  	.close =	snd_pcm_mmap_data_close,
 -	.nopage =	snd_pcm_mmap_data_nopage,
@@ -1154,7 +1175,8 @@ Index: linux-2.6/sound/core/pcm_native.c
  
  /*
 Index: linux-2.6/sound/oss/via82cxxx_audio.c
-=================================--- linux-2.6.orig/sound/oss/via82cxxx_audio.c
+===================================================================
+--- linux-2.6.orig/sound/oss/via82cxxx_audio.c
 +++ linux-2.6/sound/oss/via82cxxx_audio.c
 @@ -2099,8 +2099,7 @@ static void via_dsp_cleanup (struct via_
  }
@@ -1207,7 +1229,8 @@ Index: linux-2.6/sound/oss/via82cxxx_audio.c
  
  
 Index: linux-2.6/sound/usb/usx2y/usX2Yhwdep.c
-=================================--- linux-2.6.orig/sound/usb/usx2y/usX2Yhwdep.c
+===================================================================
+--- linux-2.6.orig/sound/usb/usx2y/usX2Yhwdep.c
 +++ linux-2.6/sound/usb/usx2y/usX2Yhwdep.c
 @@ -34,34 +34,29 @@
  int usX2Y_hwdep_pcm_new(struct snd_card *card);
@@ -1230,7 +1253,7 @@ Index: linux-2.6/sound/usb/usx2y/usX2Yhwdep.c
  	
 -	offset = area->vm_pgoff << PAGE_SHIFT;
 -	offset += address - area->vm_start;
--	snd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_SIGBUS);
+-	snd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_SIGBUS);
 +	offset = vmf->pgoff << PAGE_SHIFT;
  	vaddr = (char*)((struct usX2Ydev *)area->vm_private_data)->us428ctls_sharedmem + offset;
  	page = virt_to_page(vaddr);
@@ -1253,7 +1276,8 @@ Index: linux-2.6/sound/usb/usx2y/usX2Yhwdep.c
  
  static int snd_us428ctls_mmap(struct snd_hwdep * hw, struct file *filp, struct vm_area_struct *area)
 Index: linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c
-=================================--- linux-2.6.orig/sound/usb/usx2y/usx2yhwdeppcm.c
+===================================================================
+--- linux-2.6.orig/sound/usb/usx2y/usx2yhwdeppcm.c
 +++ linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c
 @@ -683,30 +683,23 @@ static void snd_usX2Y_hwdep_pcm_vm_close
  }
@@ -1268,7 +1292,7 @@ Index: linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c
  
 -	offset = area->vm_pgoff << PAGE_SHIFT;
 -	offset += address - area->vm_start;
--	snd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_OOM);
+-	snd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_OOM);
 +	offset = vmf->pgoff << PAGE_SHIFT;
  	vaddr = (char*)((struct usX2Ydev *)area->vm_private_data)->hwdep_pcm_shm + offset;
 -	page = virt_to_page(vaddr);
@@ -1293,7 +1317,8 @@ Index: linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c
  
  
 Index: linux-2.6/Documentation/fb/deferred_io.txt
-=================================--- linux-2.6.orig/Documentation/fb/deferred_io.txt
+===================================================================
+--- linux-2.6.orig/Documentation/fb/deferred_io.txt
 +++ linux-2.6/Documentation/fb/deferred_io.txt
 @@ -7,10 +7,10 @@ IO. The following example may be a usefu
  works:
@@ -1310,7 +1335,8 @@ Index: linux-2.6/Documentation/fb/deferred_io.txt
  - schedule a workqueue task to be run after a delay
  - app continues writing to that page with no additional cost. this is
 Index: linux-2.6/Documentation/feature-removal-schedule.txt
-=================================--- linux-2.6.orig/Documentation/feature-removal-schedule.txt
+===================================================================
+--- linux-2.6.orig/Documentation/feature-removal-schedule.txt
 +++ linux-2.6/Documentation/feature-removal-schedule.txt
 @@ -172,15 +172,6 @@ Who:	Greg Kroah-Hartman <gregkh@suse.de>
  
@@ -1329,7 +1355,8 @@ Index: linux-2.6/Documentation/feature-removal-schedule.txt
  When:	September 2007
  Why:	The interrupt related SA_* flags are replaced by IRQF_* to move them
 Index: linux-2.6/Documentation/filesystems/Locking
-=================================--- linux-2.6.orig/Documentation/filesystems/Locking
+===================================================================
+--- linux-2.6.orig/Documentation/filesystems/Locking
 +++ linux-2.6/Documentation/filesystems/Locking
 @@ -514,7 +514,6 @@ prototypes:
  	void (*open)(struct vm_area_struct*);
@@ -1353,7 +1380,8 @@ Index: linux-2.6/Documentation/filesystems/Locking
  ->read() and ->write() in many drivers are (probably) missing BKL.
 -drivers/sgi/char/graphics.c::sgi_graphics_nopage() - may need BKL.
 Index: linux-2.6/mm/rmap.c
-=================================--- linux-2.6.orig/mm/rmap.c
+===================================================================
+--- linux-2.6.orig/mm/rmap.c
 +++ linux-2.6/mm/rmap.c
 @@ -621,7 +621,6 @@ void page_remove_rmap(struct page *page,
  			printk (KERN_EMERG "  page->mapping = %p\n", page->mapping);
@@ -1364,7 +1392,8 @@ Index: linux-2.6/mm/rmap.c
  			}
  			if (vma->vm_file && vma->vm_file->f_op)
 Index: linux-2.6/drivers/uio/uio.c
-=================================--- linux-2.6.orig/drivers/uio/uio.c
+===================================================================
+--- linux-2.6.orig/drivers/uio/uio.c
 +++ linux-2.6/drivers/uio/uio.c
 @@ -412,30 +412,28 @@ static void uio_vma_close(struct vm_area
  	idev->vma_count--;
@@ -1383,7 +1412,7 @@ Index: linux-2.6/drivers/uio/uio.c
 -		return page;
 +		return VM_FAULT_SIGBUS;
  
- 	if (idev->info->mem[mi].memtype = UIO_MEM_LOGICAL)
+ 	if (idev->info->mem[mi].memtype == UIO_MEM_LOGICAL)
  		page = virt_to_page(idev->info->mem[mi].addr);
  	else
  		page = vmalloc_to_page((void*)idev->info->mem[mi].addr);
diff --git a/a/content_digest b/N1/content_digest
index f7855f3..81e15e7 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,6 +1,6 @@
  "From\0Nick Piggin <npiggin@suse.de>\0"
  "Subject\0[rfc][patch] remove nopage\0"
- "Date\0Mon, 12 Nov 2007 01:56:43 +0000\0"
+ "Date\0Mon, 12 Nov 2007 02:56:43 +0100\0"
  "To\0Linus Torvalds <torvalds@linux-foundation.org>"
   Linux Memory Management List <linux-mm@kvack.org>
  " Linux Kernel Mailing List <linux-kernel@vger.kernel.org>\0"
@@ -87,7 +87,8 @@
  " 24 files changed, 238 insertions(+), 359 deletions(-)\n"
  "\n"
  "Index: linux-2.6/include/linux/mm.h\n"
- "=================================--- linux-2.6.orig/include/linux/mm.h\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/include/linux/mm.h\n"
  "+++ linux-2.6/include/linux/mm.h\n"
  "@@ -162,8 +162,6 @@ struct vm_operations_struct {\n"
  " \tvoid (*open)(struct vm_area_struct * area);\n"
@@ -112,7 +113,8 @@
  "  */\n"
  " #define NOPFN_SIGBUS\t((unsigned long) -1)\n"
  "Index: linux-2.6/kernel/relay.c\n"
- "=================================--- linux-2.6.orig/kernel/relay.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/kernel/relay.c\n"
  "+++ linux-2.6/kernel/relay.c\n"
  "@@ -37,37 +37,31 @@ static void relay_file_mmap_close(struct\n"
  " }\n"
@@ -162,7 +164,8 @@
  " };\n"
  " \n"
  "Index: linux-2.6/mm/memory.c\n"
- "=================================--- linux-2.6.orig/mm/memory.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/mm/memory.c\n"
  "+++ linux-2.6/mm/memory.c\n"
  "@@ -1044,8 +1044,7 @@ int get_user_pages(struct task_struct *t\n"
  " \t\tif (pages)\n"
@@ -187,9 +190,9 @@
  "-\t\tret = 0;\n"
  "-\t\tvmf.page = vma->vm_ops->nopage(vma, address & PAGE_MASK, &ret);\n"
  "-\t\t/* no page was available -- either SIGBUS or OOM */\n"
- "-\t\tif (unlikely(vmf.page = NOPAGE_SIGBUS))\n"
+ "-\t\tif (unlikely(vmf.page == NOPAGE_SIGBUS))\n"
  "-\t\t\treturn VM_FAULT_SIGBUS;\n"
- "-\t\telse if (unlikely(vmf.page = NOPAGE_OOM))\n"
+ "-\t\telse if (unlikely(vmf.page == NOPAGE_OOM))\n"
  "-\t\t\treturn VM_FAULT_OOM;\n"
  "-\t}\n"
  "+\tret = vma->vm_ops->fault(vma, &vmf);\n"
@@ -208,7 +211,8 @@
  " \t\t\t\t\t\tpte, pmd, write_access, entry);\n"
  " \t\t\t\tif (unlikely(vma->vm_ops->nopfn))\n"
  "Index: linux-2.6/mm/mincore.c\n"
- "=================================--- linux-2.6.orig/mm/mincore.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/mm/mincore.c\n"
  "+++ linux-2.6/mm/mincore.c\n"
  "@@ -33,7 +33,7 @@ static unsigned char mincore_page(struct\n"
  " \t * When tmpfs swaps out a page from a file, any process mapping that\n"
@@ -220,7 +224,8 @@
  " \t * However when tmpfs moves the page from pagecache and into swapcache,\n"
  " \t * it is still in core, but the find_get_page below won't find it.\n"
  "Index: linux-2.6/mm/mmap.c\n"
- "=================================--- linux-2.6.orig/mm/mmap.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/mm/mmap.c\n"
  "+++ linux-2.6/mm/mmap.c\n"
  "@@ -2149,24 +2149,23 @@ int may_expand_vm(struct mm_struct *mm, \n"
  " }\n"
@@ -265,7 +270,8 @@
  " \n"
  " /*\n"
  "Index: linux-2.6/arch/ia64/ia32/binfmt_elf32.c\n"
- "=================================--- linux-2.6.orig/arch/ia64/ia32/binfmt_elf32.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/arch/ia64/ia32/binfmt_elf32.c\n"
  "+++ linux-2.6/arch/ia64/ia32/binfmt_elf32.c\n"
  "@@ -52,33 +52,29 @@ extern struct page *ia32_shared_page[];\n"
  " extern unsigned long *ia32_gdt;\n"
@@ -317,7 +323,8 @@
  " \n"
  " void\n"
  "Index: linux-2.6/drivers/char/agp/alpha-agp.c\n"
- "=================================--- linux-2.6.orig/drivers/char/agp/alpha-agp.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/char/agp/alpha-agp.c\n"
  "+++ linux-2.6/drivers/char/agp/alpha-agp.c\n"
  "@@ -11,29 +11,28 @@\n"
  " \n"
@@ -339,7 +346,7 @@
  "+\t\t\t\t\t\t+ agp->aperture.bus_base;\n"
  " \tpa = agp->ops->translate(agp, dma_addr);\n"
  " \n"
- " \tif (pa = (unsigned long)-EINVAL)\n"
+ " \tif (pa == (unsigned long)-EINVAL)\n"
  "-\t\treturn NULL;\t/* no translation */\n"
  "+\t\treturn VM_FAULT_SIGBUS;\t/* no translation */\n"
  " \n"
@@ -355,7 +362,8 @@
  "+\treturn 0;\n"
  " }\n"
  " \n"
- " static struct aper_size_info_fixed alpha_core_agp_sizes[] @@ -42,7 +41,7 @@ static struct aper_size_info_fixed alpha\n"
+ " static struct aper_size_info_fixed alpha_core_agp_sizes[] =\n"
+ "@@ -42,7 +41,7 @@ static struct aper_size_info_fixed alpha\n"
  " };\n"
  " \n"
  " struct vm_operations_struct alpha_core_agp_vm_ops = {\n"
@@ -365,7 +373,8 @@
  " \n"
  " \n"
  "Index: linux-2.6/drivers/char/drm/drm_vm.c\n"
- "=================================--- linux-2.6.orig/drivers/char/drm/drm_vm.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/char/drm/drm_vm.c\n"
  "+++ linux-2.6/drivers/char/drm/drm_vm.c\n"
  "@@ -66,7 +66,7 @@ static pgprot_t drm_io_prot(uint32_t map\n"
  " }\n"
@@ -405,7 +414,7 @@
  " \tr_list = drm_hash_entry(hash, struct drm_map_list, hash);\n"
  " \tmap = r_list->map;\n"
  " \n"
- " \tif (map && map->type = _DRM_AGP) {\n"
+ " \tif (map && map->type == _DRM_AGP) {\n"
  "-\t\tunsigned long offset = address - vma->vm_start;\n"
  "+\t\t/*\n"
  "+\t\t * Using vm_pgoff as a selector forces us to use this unusual\n"
@@ -676,7 +685,8 @@
  " \t\t    page_to_pfn(virt_to_page(map->handle)),\n"
  " \t\t    vma->vm_end - vma->vm_start, vma->vm_page_prot))\n"
  "Index: linux-2.6/drivers/ieee1394/dma.c\n"
- "=================================--- linux-2.6.orig/drivers/ieee1394/dma.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/ieee1394/dma.c\n"
  "+++ linux-2.6/drivers/ieee1394/dma.c\n"
  "@@ -231,37 +231,32 @@ void dma_region_sync_for_device(struct d\n"
  " \n"
@@ -742,7 +752,8 @@
  " \t\treturn -EINVAL;\n"
  " \n"
  "Index: linux-2.6/drivers/infiniband/hw/ipath/ipath_file_ops.c\n"
- "=================================--- linux-2.6.orig/drivers/infiniband/hw/ipath/ipath_file_ops.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/infiniband/hw/ipath/ipath_file_ops.c\n"
  "+++ linux-2.6/drivers/infiniband/hw/ipath/ipath_file_ops.c\n"
  "@@ -1120,33 +1120,24 @@ bail:\n"
  " }\n"
@@ -789,7 +800,8 @@
  " \n"
  " static int mmap_kvaddr(struct vm_area_struct *vma, u64 pgaddr,\n"
  "Index: linux-2.6/drivers/kvm/kvm_main.c\n"
- "=================================--- linux-2.6.orig/drivers/kvm/kvm_main.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/kvm/kvm_main.c\n"
  "+++ linux-2.6/drivers/kvm/kvm_main.c\n"
  "@@ -2534,30 +2534,24 @@ static int kvm_vcpu_ioctl_debug_guest(st\n"
  " \treturn r;\n"
@@ -805,11 +817,11 @@
  " \tstruct page *page;\n"
  " \n"
  "-\tpgoff = ((address - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;\n"
- "-\tif (pgoff = 0)\n"
- "+\tif (vmf->pgoff = 0)\n"
+ "-\tif (pgoff == 0)\n"
+ "+\tif (vmf->pgoff == 0)\n"
  " \t\tpage = virt_to_page(vcpu->run);\n"
- "-\telse if (pgoff = KVM_PIO_PAGE_OFFSET)\n"
- "+\telse if (vmf->pgoff = KVM_PIO_PAGE_OFFSET)\n"
+ "-\telse if (pgoff == KVM_PIO_PAGE_OFFSET)\n"
+ "+\telse if (vmf->pgoff == KVM_PIO_PAGE_OFFSET)\n"
  " \t\tpage = virt_to_page(vcpu->pio_data);\n"
  " \telse\n"
  "-\t\treturn NOPAGE_SIGBUS;\n"
@@ -864,7 +876,8 @@
  " \n"
  " static int kvm_vm_mmap(struct file *file, struct vm_area_struct *vma)\n"
  "Index: linux-2.6/drivers/media/video/videobuf-dma-sg.c\n"
- "=================================--- linux-2.6.orig/drivers/media/video/videobuf-dma-sg.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/media/video/videobuf-dma-sg.c\n"
  "+++ linux-2.6/drivers/media/video/videobuf-dma-sg.c\n"
  "@@ -385,30 +385,26 @@ videobuf_vm_close(struct vm_area_struct \n"
  "  * now ...).  Bounce buffers don't work very well for the data rates\n"
@@ -896,7 +909,8 @@
  "+\treturn 0;\n"
  " }\n"
  " \n"
- " static struct vm_operations_struct videobuf_vm_ops  {\n"
+ " static struct vm_operations_struct videobuf_vm_ops =\n"
+ " {\n"
  " \t.open     = videobuf_vm_open,\n"
  " \t.close    = videobuf_vm_close,\n"
  "-\t.nopage   = videobuf_vm_nopage,\n"
@@ -905,7 +919,8 @@
  " \n"
  " /* ---------------------------------------------------------------------\n"
  "Index: linux-2.6/drivers/scsi/sg.c\n"
- "=================================--- linux-2.6.orig/drivers/scsi/sg.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/scsi/sg.c\n"
  "+++ linux-2.6/drivers/scsi/sg.c\n"
  "@@ -1144,23 +1144,22 @@ sg_fasync(int fd, struct file *filp, int\n"
  " \treturn (retval < 0) ? retval : 0;\n"
@@ -923,7 +938,7 @@
  " \tstruct scatterlist *sg;\n"
  " \tint k;\n"
  " \n"
- " \tif ((NULL = vma) || (!(sfp = (Sg_fd *) vma->vm_private_data)))\n"
+ " \tif ((NULL == vma) || (!(sfp = (Sg_fd *) vma->vm_private_data)))\n"
  "-\t\treturn page;\n"
  "+\t\treturn VM_FAULT_SIGBUS;\n"
  " \trsv_schp = &sfp->reserve;\n"
@@ -965,7 +980,8 @@
  " \n"
  " static int\n"
  "Index: linux-2.6/drivers/usb/mon/mon_bin.c\n"
- "=================================--- linux-2.6.orig/drivers/usb/mon/mon_bin.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/usb/mon/mon_bin.c\n"
  "+++ linux-2.6/drivers/usb/mon/mon_bin.c\n"
  "@@ -1045,33 +1045,31 @@ static void mon_bin_vma_close(struct vm_\n"
  " /*\n"
@@ -1009,7 +1025,8 @@
  " \tvma->vm_flags |= VM_RESERVED;\n"
  " \tvma->vm_private_data = filp->private_data;\n"
  "Index: linux-2.6/drivers/video/fb_defio.c\n"
- "=================================--- linux-2.6.orig/drivers/video/fb_defio.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/video/fb_defio.c\n"
  "+++ linux-2.6/drivers/video/fb_defio.c\n"
  "@@ -25,8 +25,8 @@\n"
  " #include <linux/pagemap.h>\n"
@@ -1056,7 +1073,8 @@
  " };\n"
  " \n"
  "Index: linux-2.6/sound/core/pcm_native.c\n"
- "=================================--- linux-2.6.orig/sound/core/pcm_native.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/sound/core/pcm_native.c\n"
  "+++ linux-2.6/sound/core/pcm_native.c\n"
  "@@ -3018,26 +3018,23 @@ static unsigned int snd_pcm_capture_poll\n"
  " /*\n"
@@ -1071,7 +1089,7 @@
  " \tstruct snd_pcm_runtime *runtime;\n"
  "-\tstruct page * page;\n"
  " \t\n"
- " \tif (substream = NULL)\n"
+ " \tif (substream == NULL)\n"
  "-\t\treturn NOPAGE_SIGBUS;\n"
  "+\t\treturn VM_FAULT_SIGBUS;\n"
  " \truntime = substream->runtime;\n"
@@ -1085,7 +1103,8 @@
  "+\treturn 0;\n"
  " }\n"
  " \n"
- " static struct vm_operations_struct snd_pcm_vm_ops_status  {\n"
+ " static struct vm_operations_struct snd_pcm_vm_ops_status =\n"
+ " {\n"
  "-\t.nopage =\tsnd_pcm_mmap_status_nopage,\n"
  "+\t.fault =\tsnd_pcm_mmap_status_fault,\n"
  " };\n"
@@ -1104,7 +1123,7 @@
  " \tstruct snd_pcm_runtime *runtime;\n"
  "-\tstruct page * page;\n"
  " \t\n"
- " \tif (substream = NULL)\n"
+ " \tif (substream == NULL)\n"
  "-\t\treturn NOPAGE_SIGBUS;\n"
  "+\t\treturn VM_FAULT_SIGBUS;\n"
  " \truntime = substream->runtime;\n"
@@ -1118,7 +1137,8 @@
  "+\treturn 0;\n"
  " }\n"
  " \n"
- " static struct vm_operations_struct snd_pcm_vm_ops_control  {\n"
+ " static struct vm_operations_struct snd_pcm_vm_ops_control =\n"
+ " {\n"
  "-\t.nopage =\tsnd_pcm_mmap_control_nopage,\n"
  "+\t.fault =\tsnd_pcm_mmap_control_fault,\n"
  " };\n"
@@ -1141,13 +1161,13 @@
  "@@ -3130,33 +3124,30 @@ static struct page *snd_pcm_mmap_data_no\n"
  " \tsize_t dma_bytes;\n"
  " \t\n"
- " \tif (substream = NULL)\n"
+ " \tif (substream == NULL)\n"
  "-\t\treturn NOPAGE_SIGBUS;\n"
  "+\t\treturn VM_FAULT_SIGBUS;\n"
  " \truntime = substream->runtime;\n"
  "-\toffset = area->vm_pgoff << PAGE_SHIFT;\n"
  "-\toffset += address - area->vm_start;\n"
- "-\tsnd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_SIGBUS);\n"
+ "-\tsnd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_SIGBUS);\n"
  "+\toffset = vmf->pgoff << PAGE_SHIFT;\n"
  " \tdma_bytes = PAGE_ALIGN(runtime->dma_bytes);\n"
  " \tif (offset > dma_bytes - PAGE_SIZE)\n"
@@ -1171,7 +1191,8 @@
  "+\treturn 0;\n"
  " }\n"
  " \n"
- " static struct vm_operations_struct snd_pcm_vm_ops_data  {\n"
+ " static struct vm_operations_struct snd_pcm_vm_ops_data =\n"
+ " {\n"
  " \t.open =\t\tsnd_pcm_mmap_data_open,\n"
  " \t.close =\tsnd_pcm_mmap_data_close,\n"
  "-\t.nopage =\tsnd_pcm_mmap_data_nopage,\n"
@@ -1180,7 +1201,8 @@
  " \n"
  " /*\n"
  "Index: linux-2.6/sound/oss/via82cxxx_audio.c\n"
- "=================================--- linux-2.6.orig/sound/oss/via82cxxx_audio.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/sound/oss/via82cxxx_audio.c\n"
  "+++ linux-2.6/sound/oss/via82cxxx_audio.c\n"
  "@@ -2099,8 +2099,7 @@ static void via_dsp_cleanup (struct via_\n"
  " }\n"
@@ -1233,7 +1255,8 @@
  " \n"
  " \n"
  "Index: linux-2.6/sound/usb/usx2y/usX2Yhwdep.c\n"
- "=================================--- linux-2.6.orig/sound/usb/usx2y/usX2Yhwdep.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/sound/usb/usx2y/usX2Yhwdep.c\n"
  "+++ linux-2.6/sound/usb/usx2y/usX2Yhwdep.c\n"
  "@@ -34,34 +34,29 @@\n"
  " int usX2Y_hwdep_pcm_new(struct snd_card *card);\n"
@@ -1256,7 +1279,7 @@
  " \t\n"
  "-\toffset = area->vm_pgoff << PAGE_SHIFT;\n"
  "-\toffset += address - area->vm_start;\n"
- "-\tsnd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_SIGBUS);\n"
+ "-\tsnd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_SIGBUS);\n"
  "+\toffset = vmf->pgoff << PAGE_SHIFT;\n"
  " \tvaddr = (char*)((struct usX2Ydev *)area->vm_private_data)->us428ctls_sharedmem + offset;\n"
  " \tpage = virt_to_page(vaddr);\n"
@@ -1279,7 +1302,8 @@
  " \n"
  " static int snd_us428ctls_mmap(struct snd_hwdep * hw, struct file *filp, struct vm_area_struct *area)\n"
  "Index: linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c\n"
- "=================================--- linux-2.6.orig/sound/usb/usx2y/usx2yhwdeppcm.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/sound/usb/usx2y/usx2yhwdeppcm.c\n"
  "+++ linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c\n"
  "@@ -683,30 +683,23 @@ static void snd_usX2Y_hwdep_pcm_vm_close\n"
  " }\n"
@@ -1294,7 +1318,7 @@
  " \n"
  "-\toffset = area->vm_pgoff << PAGE_SHIFT;\n"
  "-\toffset += address - area->vm_start;\n"
- "-\tsnd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_OOM);\n"
+ "-\tsnd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_OOM);\n"
  "+\toffset = vmf->pgoff << PAGE_SHIFT;\n"
  " \tvaddr = (char*)((struct usX2Ydev *)area->vm_private_data)->hwdep_pcm_shm + offset;\n"
  "-\tpage = virt_to_page(vaddr);\n"
@@ -1319,7 +1343,8 @@
  " \n"
  " \n"
  "Index: linux-2.6/Documentation/fb/deferred_io.txt\n"
- "=================================--- linux-2.6.orig/Documentation/fb/deferred_io.txt\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/Documentation/fb/deferred_io.txt\n"
  "+++ linux-2.6/Documentation/fb/deferred_io.txt\n"
  "@@ -7,10 +7,10 @@ IO. The following example may be a usefu\n"
  " works:\n"
@@ -1336,7 +1361,8 @@
  " - schedule a workqueue task to be run after a delay\n"
  " - app continues writing to that page with no additional cost. this is\n"
  "Index: linux-2.6/Documentation/feature-removal-schedule.txt\n"
- "=================================--- linux-2.6.orig/Documentation/feature-removal-schedule.txt\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/Documentation/feature-removal-schedule.txt\n"
  "+++ linux-2.6/Documentation/feature-removal-schedule.txt\n"
  "@@ -172,15 +172,6 @@ Who:\tGreg Kroah-Hartman <gregkh@suse.de>\n"
  " \n"
@@ -1355,7 +1381,8 @@
  " When:\tSeptember 2007\n"
  " Why:\tThe interrupt related SA_* flags are replaced by IRQF_* to move them\n"
  "Index: linux-2.6/Documentation/filesystems/Locking\n"
- "=================================--- linux-2.6.orig/Documentation/filesystems/Locking\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/Documentation/filesystems/Locking\n"
  "+++ linux-2.6/Documentation/filesystems/Locking\n"
  "@@ -514,7 +514,6 @@ prototypes:\n"
  " \tvoid (*open)(struct vm_area_struct*);\n"
@@ -1379,7 +1406,8 @@
  " ->read() and ->write() in many drivers are (probably) missing BKL.\n"
  "-drivers/sgi/char/graphics.c::sgi_graphics_nopage() - may need BKL.\n"
  "Index: linux-2.6/mm/rmap.c\n"
- "=================================--- linux-2.6.orig/mm/rmap.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/mm/rmap.c\n"
  "+++ linux-2.6/mm/rmap.c\n"
  "@@ -621,7 +621,6 @@ void page_remove_rmap(struct page *page,\n"
  " \t\t\tprintk (KERN_EMERG \"  page->mapping = %p\\n\", page->mapping);\n"
@@ -1390,7 +1418,8 @@
  " \t\t\t}\n"
  " \t\t\tif (vma->vm_file && vma->vm_file->f_op)\n"
  "Index: linux-2.6/drivers/uio/uio.c\n"
- "=================================--- linux-2.6.orig/drivers/uio/uio.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/uio/uio.c\n"
  "+++ linux-2.6/drivers/uio/uio.c\n"
  "@@ -412,30 +412,28 @@ static void uio_vma_close(struct vm_area\n"
  " \tidev->vma_count--;\n"
@@ -1409,7 +1438,7 @@
  "-\t\treturn page;\n"
  "+\t\treturn VM_FAULT_SIGBUS;\n"
  " \n"
- " \tif (idev->info->mem[mi].memtype = UIO_MEM_LOGICAL)\n"
+ " \tif (idev->info->mem[mi].memtype == UIO_MEM_LOGICAL)\n"
  " \t\tpage = virt_to_page(idev->info->mem[mi].addr);\n"
  " \telse\n"
  " \t\tpage = vmalloc_to_page((void*)idev->info->mem[mi].addr);\n"
@@ -1430,4 +1459,4 @@
  " \n"
   static int uio_mmap_physical(struct vm_area_struct *vma)
 
-9485d0a07ee7724606b2242392d04d752f7bc4c82aad4f3ccfc604133d5a7934
+27d4a6497d3c3b56528d13e2c063851a50614e70f3b869c8b15de55ea0147a40

diff --git a/a/1.txt b/N2/1.txt
index cd77757..15d61cb 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -1,4 +1,3 @@
-
 Hi all,
 
 This is a patch to remove 'nopage' from the tree.
@@ -61,7 +60,8 @@ take a look at this all together, the discussion will be more coherent ;)
  24 files changed, 238 insertions(+), 359 deletions(-)
 
 Index: linux-2.6/include/linux/mm.h
-=================================--- linux-2.6.orig/include/linux/mm.h
+===================================================================
+--- linux-2.6.orig/include/linux/mm.h
 +++ linux-2.6/include/linux/mm.h
 @@ -162,8 +162,6 @@ struct vm_operations_struct {
  	void (*open)(struct vm_area_struct * area);
@@ -86,7 +86,8 @@ Index: linux-2.6/include/linux/mm.h
   */
  #define NOPFN_SIGBUS	((unsigned long) -1)
 Index: linux-2.6/kernel/relay.c
-=================================--- linux-2.6.orig/kernel/relay.c
+===================================================================
+--- linux-2.6.orig/kernel/relay.c
 +++ linux-2.6/kernel/relay.c
 @@ -37,37 +37,31 @@ static void relay_file_mmap_close(struct
  }
@@ -136,7 +137,8 @@ Index: linux-2.6/kernel/relay.c
  };
  
 Index: linux-2.6/mm/memory.c
-=================================--- linux-2.6.orig/mm/memory.c
+===================================================================
+--- linux-2.6.orig/mm/memory.c
 +++ linux-2.6/mm/memory.c
 @@ -1044,8 +1044,7 @@ int get_user_pages(struct task_struct *t
  		if (pages)
@@ -161,9 +163,9 @@ Index: linux-2.6/mm/memory.c
 -		ret = 0;
 -		vmf.page = vma->vm_ops->nopage(vma, address & PAGE_MASK, &ret);
 -		/* no page was available -- either SIGBUS or OOM */
--		if (unlikely(vmf.page = NOPAGE_SIGBUS))
+-		if (unlikely(vmf.page == NOPAGE_SIGBUS))
 -			return VM_FAULT_SIGBUS;
--		else if (unlikely(vmf.page = NOPAGE_OOM))
+-		else if (unlikely(vmf.page == NOPAGE_OOM))
 -			return VM_FAULT_OOM;
 -	}
 +	ret = vma->vm_ops->fault(vma, &vmf);
@@ -182,7 +184,8 @@ Index: linux-2.6/mm/memory.c
  						pte, pmd, write_access, entry);
  				if (unlikely(vma->vm_ops->nopfn))
 Index: linux-2.6/mm/mincore.c
-=================================--- linux-2.6.orig/mm/mincore.c
+===================================================================
+--- linux-2.6.orig/mm/mincore.c
 +++ linux-2.6/mm/mincore.c
 @@ -33,7 +33,7 @@ static unsigned char mincore_page(struct
  	 * When tmpfs swaps out a page from a file, any process mapping that
@@ -194,7 +197,8 @@ Index: linux-2.6/mm/mincore.c
  	 * However when tmpfs moves the page from pagecache and into swapcache,
  	 * it is still in core, but the find_get_page below won't find it.
 Index: linux-2.6/mm/mmap.c
-=================================--- linux-2.6.orig/mm/mmap.c
+===================================================================
+--- linux-2.6.orig/mm/mmap.c
 +++ linux-2.6/mm/mmap.c
 @@ -2149,24 +2149,23 @@ int may_expand_vm(struct mm_struct *mm, 
  }
@@ -239,7 +243,8 @@ Index: linux-2.6/mm/mmap.c
  
  /*
 Index: linux-2.6/arch/ia64/ia32/binfmt_elf32.c
-=================================--- linux-2.6.orig/arch/ia64/ia32/binfmt_elf32.c
+===================================================================
+--- linux-2.6.orig/arch/ia64/ia32/binfmt_elf32.c
 +++ linux-2.6/arch/ia64/ia32/binfmt_elf32.c
 @@ -52,33 +52,29 @@ extern struct page *ia32_shared_page[];
  extern unsigned long *ia32_gdt;
@@ -291,7 +296,8 @@ Index: linux-2.6/arch/ia64/ia32/binfmt_elf32.c
  
  void
 Index: linux-2.6/drivers/char/agp/alpha-agp.c
-=================================--- linux-2.6.orig/drivers/char/agp/alpha-agp.c
+===================================================================
+--- linux-2.6.orig/drivers/char/agp/alpha-agp.c
 +++ linux-2.6/drivers/char/agp/alpha-agp.c
 @@ -11,29 +11,28 @@
  
@@ -313,7 +319,7 @@ Index: linux-2.6/drivers/char/agp/alpha-agp.c
 +						+ agp->aperture.bus_base;
  	pa = agp->ops->translate(agp, dma_addr);
  
- 	if (pa = (unsigned long)-EINVAL)
+ 	if (pa == (unsigned long)-EINVAL)
 -		return NULL;	/* no translation */
 +		return VM_FAULT_SIGBUS;	/* no translation */
  
@@ -329,7 +335,8 @@ Index: linux-2.6/drivers/char/agp/alpha-agp.c
 +	return 0;
  }
  
- static struct aper_size_info_fixed alpha_core_agp_sizes[] @@ -42,7 +41,7 @@ static struct aper_size_info_fixed alpha
+ static struct aper_size_info_fixed alpha_core_agp_sizes[] =
+@@ -42,7 +41,7 @@ static struct aper_size_info_fixed alpha
  };
  
  struct vm_operations_struct alpha_core_agp_vm_ops = {
@@ -339,7 +346,8 @@ Index: linux-2.6/drivers/char/agp/alpha-agp.c
  
  
 Index: linux-2.6/drivers/char/drm/drm_vm.c
-=================================--- linux-2.6.orig/drivers/char/drm/drm_vm.c
+===================================================================
+--- linux-2.6.orig/drivers/char/drm/drm_vm.c
 +++ linux-2.6/drivers/char/drm/drm_vm.c
 @@ -66,7 +66,7 @@ static pgprot_t drm_io_prot(uint32_t map
  }
@@ -379,7 +387,7 @@ Index: linux-2.6/drivers/char/drm/drm_vm.c
  	r_list = drm_hash_entry(hash, struct drm_map_list, hash);
  	map = r_list->map;
  
- 	if (map && map->type = _DRM_AGP) {
+ 	if (map && map->type == _DRM_AGP) {
 -		unsigned long offset = address - vma->vm_start;
 +		/*
 +		 * Using vm_pgoff as a selector forces us to use this unusual
@@ -650,7 +658,8 @@ Index: linux-2.6/drivers/char/drm/drm_vm.c
  		    page_to_pfn(virt_to_page(map->handle)),
  		    vma->vm_end - vma->vm_start, vma->vm_page_prot))
 Index: linux-2.6/drivers/ieee1394/dma.c
-=================================--- linux-2.6.orig/drivers/ieee1394/dma.c
+===================================================================
+--- linux-2.6.orig/drivers/ieee1394/dma.c
 +++ linux-2.6/drivers/ieee1394/dma.c
 @@ -231,37 +231,32 @@ void dma_region_sync_for_device(struct d
  
@@ -716,7 +725,8 @@ Index: linux-2.6/drivers/ieee1394/dma.c
  		return -EINVAL;
  
 Index: linux-2.6/drivers/infiniband/hw/ipath/ipath_file_ops.c
-=================================--- linux-2.6.orig/drivers/infiniband/hw/ipath/ipath_file_ops.c
+===================================================================
+--- linux-2.6.orig/drivers/infiniband/hw/ipath/ipath_file_ops.c
 +++ linux-2.6/drivers/infiniband/hw/ipath/ipath_file_ops.c
 @@ -1120,33 +1120,24 @@ bail:
  }
@@ -763,7 +773,8 @@ Index: linux-2.6/drivers/infiniband/hw/ipath/ipath_file_ops.c
  
  static int mmap_kvaddr(struct vm_area_struct *vma, u64 pgaddr,
 Index: linux-2.6/drivers/kvm/kvm_main.c
-=================================--- linux-2.6.orig/drivers/kvm/kvm_main.c
+===================================================================
+--- linux-2.6.orig/drivers/kvm/kvm_main.c
 +++ linux-2.6/drivers/kvm/kvm_main.c
 @@ -2534,30 +2534,24 @@ static int kvm_vcpu_ioctl_debug_guest(st
  	return r;
@@ -779,11 +790,11 @@ Index: linux-2.6/drivers/kvm/kvm_main.c
  	struct page *page;
  
 -	pgoff = ((address - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;
--	if (pgoff = 0)
-+	if (vmf->pgoff = 0)
+-	if (pgoff == 0)
++	if (vmf->pgoff == 0)
  		page = virt_to_page(vcpu->run);
--	else if (pgoff = KVM_PIO_PAGE_OFFSET)
-+	else if (vmf->pgoff = KVM_PIO_PAGE_OFFSET)
+-	else if (pgoff == KVM_PIO_PAGE_OFFSET)
++	else if (vmf->pgoff == KVM_PIO_PAGE_OFFSET)
  		page = virt_to_page(vcpu->pio_data);
  	else
 -		return NOPAGE_SIGBUS;
@@ -838,7 +849,8 @@ Index: linux-2.6/drivers/kvm/kvm_main.c
  
  static int kvm_vm_mmap(struct file *file, struct vm_area_struct *vma)
 Index: linux-2.6/drivers/media/video/videobuf-dma-sg.c
-=================================--- linux-2.6.orig/drivers/media/video/videobuf-dma-sg.c
+===================================================================
+--- linux-2.6.orig/drivers/media/video/videobuf-dma-sg.c
 +++ linux-2.6/drivers/media/video/videobuf-dma-sg.c
 @@ -385,30 +385,26 @@ videobuf_vm_close(struct vm_area_struct 
   * now ...).  Bounce buffers don't work very well for the data rates
@@ -870,7 +882,8 @@ Index: linux-2.6/drivers/media/video/videobuf-dma-sg.c
 +	return 0;
  }
  
- static struct vm_operations_struct videobuf_vm_ops  {
+ static struct vm_operations_struct videobuf_vm_ops =
+ {
  	.open     = videobuf_vm_open,
  	.close    = videobuf_vm_close,
 -	.nopage   = videobuf_vm_nopage,
@@ -879,7 +892,8 @@ Index: linux-2.6/drivers/media/video/videobuf-dma-sg.c
  
  /* ---------------------------------------------------------------------
 Index: linux-2.6/drivers/scsi/sg.c
-=================================--- linux-2.6.orig/drivers/scsi/sg.c
+===================================================================
+--- linux-2.6.orig/drivers/scsi/sg.c
 +++ linux-2.6/drivers/scsi/sg.c
 @@ -1144,23 +1144,22 @@ sg_fasync(int fd, struct file *filp, int
  	return (retval < 0) ? retval : 0;
@@ -897,7 +911,7 @@ Index: linux-2.6/drivers/scsi/sg.c
  	struct scatterlist *sg;
  	int k;
  
- 	if ((NULL = vma) || (!(sfp = (Sg_fd *) vma->vm_private_data)))
+ 	if ((NULL == vma) || (!(sfp = (Sg_fd *) vma->vm_private_data)))
 -		return page;
 +		return VM_FAULT_SIGBUS;
  	rsv_schp = &sfp->reserve;
@@ -939,7 +953,8 @@ Index: linux-2.6/drivers/scsi/sg.c
  
  static int
 Index: linux-2.6/drivers/usb/mon/mon_bin.c
-=================================--- linux-2.6.orig/drivers/usb/mon/mon_bin.c
+===================================================================
+--- linux-2.6.orig/drivers/usb/mon/mon_bin.c
 +++ linux-2.6/drivers/usb/mon/mon_bin.c
 @@ -1045,33 +1045,31 @@ static void mon_bin_vma_close(struct vm_
  /*
@@ -983,7 +998,8 @@ Index: linux-2.6/drivers/usb/mon/mon_bin.c
  	vma->vm_flags |= VM_RESERVED;
  	vma->vm_private_data = filp->private_data;
 Index: linux-2.6/drivers/video/fb_defio.c
-=================================--- linux-2.6.orig/drivers/video/fb_defio.c
+===================================================================
+--- linux-2.6.orig/drivers/video/fb_defio.c
 +++ linux-2.6/drivers/video/fb_defio.c
 @@ -25,8 +25,8 @@
  #include <linux/pagemap.h>
@@ -1030,7 +1046,8 @@ Index: linux-2.6/drivers/video/fb_defio.c
  };
  
 Index: linux-2.6/sound/core/pcm_native.c
-=================================--- linux-2.6.orig/sound/core/pcm_native.c
+===================================================================
+--- linux-2.6.orig/sound/core/pcm_native.c
 +++ linux-2.6/sound/core/pcm_native.c
 @@ -3018,26 +3018,23 @@ static unsigned int snd_pcm_capture_poll
  /*
@@ -1045,7 +1062,7 @@ Index: linux-2.6/sound/core/pcm_native.c
  	struct snd_pcm_runtime *runtime;
 -	struct page * page;
  	
- 	if (substream = NULL)
+ 	if (substream == NULL)
 -		return NOPAGE_SIGBUS;
 +		return VM_FAULT_SIGBUS;
  	runtime = substream->runtime;
@@ -1059,7 +1076,8 @@ Index: linux-2.6/sound/core/pcm_native.c
 +	return 0;
  }
  
- static struct vm_operations_struct snd_pcm_vm_ops_status  {
+ static struct vm_operations_struct snd_pcm_vm_ops_status =
+ {
 -	.nopage =	snd_pcm_mmap_status_nopage,
 +	.fault =	snd_pcm_mmap_status_fault,
  };
@@ -1078,7 +1096,7 @@ Index: linux-2.6/sound/core/pcm_native.c
  	struct snd_pcm_runtime *runtime;
 -	struct page * page;
  	
- 	if (substream = NULL)
+ 	if (substream == NULL)
 -		return NOPAGE_SIGBUS;
 +		return VM_FAULT_SIGBUS;
  	runtime = substream->runtime;
@@ -1092,7 +1110,8 @@ Index: linux-2.6/sound/core/pcm_native.c
 +	return 0;
  }
  
- static struct vm_operations_struct snd_pcm_vm_ops_control  {
+ static struct vm_operations_struct snd_pcm_vm_ops_control =
+ {
 -	.nopage =	snd_pcm_mmap_control_nopage,
 +	.fault =	snd_pcm_mmap_control_fault,
  };
@@ -1115,13 +1134,13 @@ Index: linux-2.6/sound/core/pcm_native.c
 @@ -3130,33 +3124,30 @@ static struct page *snd_pcm_mmap_data_no
  	size_t dma_bytes;
  	
- 	if (substream = NULL)
+ 	if (substream == NULL)
 -		return NOPAGE_SIGBUS;
 +		return VM_FAULT_SIGBUS;
  	runtime = substream->runtime;
 -	offset = area->vm_pgoff << PAGE_SHIFT;
 -	offset += address - area->vm_start;
--	snd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_SIGBUS);
+-	snd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_SIGBUS);
 +	offset = vmf->pgoff << PAGE_SHIFT;
  	dma_bytes = PAGE_ALIGN(runtime->dma_bytes);
  	if (offset > dma_bytes - PAGE_SIZE)
@@ -1145,7 +1164,8 @@ Index: linux-2.6/sound/core/pcm_native.c
 +	return 0;
  }
  
- static struct vm_operations_struct snd_pcm_vm_ops_data  {
+ static struct vm_operations_struct snd_pcm_vm_ops_data =
+ {
  	.open =		snd_pcm_mmap_data_open,
  	.close =	snd_pcm_mmap_data_close,
 -	.nopage =	snd_pcm_mmap_data_nopage,
@@ -1154,7 +1174,8 @@ Index: linux-2.6/sound/core/pcm_native.c
  
  /*
 Index: linux-2.6/sound/oss/via82cxxx_audio.c
-=================================--- linux-2.6.orig/sound/oss/via82cxxx_audio.c
+===================================================================
+--- linux-2.6.orig/sound/oss/via82cxxx_audio.c
 +++ linux-2.6/sound/oss/via82cxxx_audio.c
 @@ -2099,8 +2099,7 @@ static void via_dsp_cleanup (struct via_
  }
@@ -1207,7 +1228,8 @@ Index: linux-2.6/sound/oss/via82cxxx_audio.c
  
  
 Index: linux-2.6/sound/usb/usx2y/usX2Yhwdep.c
-=================================--- linux-2.6.orig/sound/usb/usx2y/usX2Yhwdep.c
+===================================================================
+--- linux-2.6.orig/sound/usb/usx2y/usX2Yhwdep.c
 +++ linux-2.6/sound/usb/usx2y/usX2Yhwdep.c
 @@ -34,34 +34,29 @@
  int usX2Y_hwdep_pcm_new(struct snd_card *card);
@@ -1230,7 +1252,7 @@ Index: linux-2.6/sound/usb/usx2y/usX2Yhwdep.c
  	
 -	offset = area->vm_pgoff << PAGE_SHIFT;
 -	offset += address - area->vm_start;
--	snd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_SIGBUS);
+-	snd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_SIGBUS);
 +	offset = vmf->pgoff << PAGE_SHIFT;
  	vaddr = (char*)((struct usX2Ydev *)area->vm_private_data)->us428ctls_sharedmem + offset;
  	page = virt_to_page(vaddr);
@@ -1253,7 +1275,8 @@ Index: linux-2.6/sound/usb/usx2y/usX2Yhwdep.c
  
  static int snd_us428ctls_mmap(struct snd_hwdep * hw, struct file *filp, struct vm_area_struct *area)
 Index: linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c
-=================================--- linux-2.6.orig/sound/usb/usx2y/usx2yhwdeppcm.c
+===================================================================
+--- linux-2.6.orig/sound/usb/usx2y/usx2yhwdeppcm.c
 +++ linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c
 @@ -683,30 +683,23 @@ static void snd_usX2Y_hwdep_pcm_vm_close
  }
@@ -1268,7 +1291,7 @@ Index: linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c
  
 -	offset = area->vm_pgoff << PAGE_SHIFT;
 -	offset += address - area->vm_start;
--	snd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_OOM);
+-	snd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_OOM);
 +	offset = vmf->pgoff << PAGE_SHIFT;
  	vaddr = (char*)((struct usX2Ydev *)area->vm_private_data)->hwdep_pcm_shm + offset;
 -	page = virt_to_page(vaddr);
@@ -1293,7 +1316,8 @@ Index: linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c
  
  
 Index: linux-2.6/Documentation/fb/deferred_io.txt
-=================================--- linux-2.6.orig/Documentation/fb/deferred_io.txt
+===================================================================
+--- linux-2.6.orig/Documentation/fb/deferred_io.txt
 +++ linux-2.6/Documentation/fb/deferred_io.txt
 @@ -7,10 +7,10 @@ IO. The following example may be a usefu
  works:
@@ -1310,7 +1334,8 @@ Index: linux-2.6/Documentation/fb/deferred_io.txt
  - schedule a workqueue task to be run after a delay
  - app continues writing to that page with no additional cost. this is
 Index: linux-2.6/Documentation/feature-removal-schedule.txt
-=================================--- linux-2.6.orig/Documentation/feature-removal-schedule.txt
+===================================================================
+--- linux-2.6.orig/Documentation/feature-removal-schedule.txt
 +++ linux-2.6/Documentation/feature-removal-schedule.txt
 @@ -172,15 +172,6 @@ Who:	Greg Kroah-Hartman <gregkh@suse.de>
  
@@ -1329,7 +1354,8 @@ Index: linux-2.6/Documentation/feature-removal-schedule.txt
  When:	September 2007
  Why:	The interrupt related SA_* flags are replaced by IRQF_* to move them
 Index: linux-2.6/Documentation/filesystems/Locking
-=================================--- linux-2.6.orig/Documentation/filesystems/Locking
+===================================================================
+--- linux-2.6.orig/Documentation/filesystems/Locking
 +++ linux-2.6/Documentation/filesystems/Locking
 @@ -514,7 +514,6 @@ prototypes:
  	void (*open)(struct vm_area_struct*);
@@ -1353,7 +1379,8 @@ Index: linux-2.6/Documentation/filesystems/Locking
  ->read() and ->write() in many drivers are (probably) missing BKL.
 -drivers/sgi/char/graphics.c::sgi_graphics_nopage() - may need BKL.
 Index: linux-2.6/mm/rmap.c
-=================================--- linux-2.6.orig/mm/rmap.c
+===================================================================
+--- linux-2.6.orig/mm/rmap.c
 +++ linux-2.6/mm/rmap.c
 @@ -621,7 +621,6 @@ void page_remove_rmap(struct page *page,
  			printk (KERN_EMERG "  page->mapping = %p\n", page->mapping);
@@ -1364,7 +1391,8 @@ Index: linux-2.6/mm/rmap.c
  			}
  			if (vma->vm_file && vma->vm_file->f_op)
 Index: linux-2.6/drivers/uio/uio.c
-=================================--- linux-2.6.orig/drivers/uio/uio.c
+===================================================================
+--- linux-2.6.orig/drivers/uio/uio.c
 +++ linux-2.6/drivers/uio/uio.c
 @@ -412,30 +412,28 @@ static void uio_vma_close(struct vm_area
  	idev->vma_count--;
@@ -1383,7 +1411,7 @@ Index: linux-2.6/drivers/uio/uio.c
 -		return page;
 +		return VM_FAULT_SIGBUS;
  
- 	if (idev->info->mem[mi].memtype = UIO_MEM_LOGICAL)
+ 	if (idev->info->mem[mi].memtype == UIO_MEM_LOGICAL)
  		page = virt_to_page(idev->info->mem[mi].addr);
  	else
  		page = vmalloc_to_page((void*)idev->info->mem[mi].addr);
@@ -1403,3 +1431,9 @@ Index: linux-2.6/drivers/uio/uio.c
  };
  
  static int uio_mmap_physical(struct vm_area_struct *vma)
+
+--
+To unsubscribe, send a message with 'unsubscribe linux-mm' in
+the body to majordomo@kvack.org.  For more info on Linux MM,
+see: http://www.linux-mm.org/ .
+Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
diff --git a/a/content_digest b/N2/content_digest
index f7855f3..1911b79 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -1,6 +1,6 @@
  "From\0Nick Piggin <npiggin@suse.de>\0"
  "Subject\0[rfc][patch] remove nopage\0"
- "Date\0Mon, 12 Nov 2007 01:56:43 +0000\0"
+ "Date\0Mon, 12 Nov 2007 02:56:43 +0100\0"
  "To\0Linus Torvalds <torvalds@linux-foundation.org>"
   Linux Memory Management List <linux-mm@kvack.org>
  " Linux Kernel Mailing List <linux-kernel@vger.kernel.org>\0"
@@ -24,7 +24,6 @@
  " Karsten Wiese <annabellesgarden@yahoo.de>\0"
  "\00:1\0"
  "b\0"
- "\n"
  "Hi all,\n"
  "\n"
  "This is a patch to remove 'nopage' from the tree.\n"
@@ -87,7 +86,8 @@
  " 24 files changed, 238 insertions(+), 359 deletions(-)\n"
  "\n"
  "Index: linux-2.6/include/linux/mm.h\n"
- "=================================--- linux-2.6.orig/include/linux/mm.h\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/include/linux/mm.h\n"
  "+++ linux-2.6/include/linux/mm.h\n"
  "@@ -162,8 +162,6 @@ struct vm_operations_struct {\n"
  " \tvoid (*open)(struct vm_area_struct * area);\n"
@@ -112,7 +112,8 @@
  "  */\n"
  " #define NOPFN_SIGBUS\t((unsigned long) -1)\n"
  "Index: linux-2.6/kernel/relay.c\n"
- "=================================--- linux-2.6.orig/kernel/relay.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/kernel/relay.c\n"
  "+++ linux-2.6/kernel/relay.c\n"
  "@@ -37,37 +37,31 @@ static void relay_file_mmap_close(struct\n"
  " }\n"
@@ -162,7 +163,8 @@
  " };\n"
  " \n"
  "Index: linux-2.6/mm/memory.c\n"
- "=================================--- linux-2.6.orig/mm/memory.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/mm/memory.c\n"
  "+++ linux-2.6/mm/memory.c\n"
  "@@ -1044,8 +1044,7 @@ int get_user_pages(struct task_struct *t\n"
  " \t\tif (pages)\n"
@@ -187,9 +189,9 @@
  "-\t\tret = 0;\n"
  "-\t\tvmf.page = vma->vm_ops->nopage(vma, address & PAGE_MASK, &ret);\n"
  "-\t\t/* no page was available -- either SIGBUS or OOM */\n"
- "-\t\tif (unlikely(vmf.page = NOPAGE_SIGBUS))\n"
+ "-\t\tif (unlikely(vmf.page == NOPAGE_SIGBUS))\n"
  "-\t\t\treturn VM_FAULT_SIGBUS;\n"
- "-\t\telse if (unlikely(vmf.page = NOPAGE_OOM))\n"
+ "-\t\telse if (unlikely(vmf.page == NOPAGE_OOM))\n"
  "-\t\t\treturn VM_FAULT_OOM;\n"
  "-\t}\n"
  "+\tret = vma->vm_ops->fault(vma, &vmf);\n"
@@ -208,7 +210,8 @@
  " \t\t\t\t\t\tpte, pmd, write_access, entry);\n"
  " \t\t\t\tif (unlikely(vma->vm_ops->nopfn))\n"
  "Index: linux-2.6/mm/mincore.c\n"
- "=================================--- linux-2.6.orig/mm/mincore.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/mm/mincore.c\n"
  "+++ linux-2.6/mm/mincore.c\n"
  "@@ -33,7 +33,7 @@ static unsigned char mincore_page(struct\n"
  " \t * When tmpfs swaps out a page from a file, any process mapping that\n"
@@ -220,7 +223,8 @@
  " \t * However when tmpfs moves the page from pagecache and into swapcache,\n"
  " \t * it is still in core, but the find_get_page below won't find it.\n"
  "Index: linux-2.6/mm/mmap.c\n"
- "=================================--- linux-2.6.orig/mm/mmap.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/mm/mmap.c\n"
  "+++ linux-2.6/mm/mmap.c\n"
  "@@ -2149,24 +2149,23 @@ int may_expand_vm(struct mm_struct *mm, \n"
  " }\n"
@@ -265,7 +269,8 @@
  " \n"
  " /*\n"
  "Index: linux-2.6/arch/ia64/ia32/binfmt_elf32.c\n"
- "=================================--- linux-2.6.orig/arch/ia64/ia32/binfmt_elf32.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/arch/ia64/ia32/binfmt_elf32.c\n"
  "+++ linux-2.6/arch/ia64/ia32/binfmt_elf32.c\n"
  "@@ -52,33 +52,29 @@ extern struct page *ia32_shared_page[];\n"
  " extern unsigned long *ia32_gdt;\n"
@@ -317,7 +322,8 @@
  " \n"
  " void\n"
  "Index: linux-2.6/drivers/char/agp/alpha-agp.c\n"
- "=================================--- linux-2.6.orig/drivers/char/agp/alpha-agp.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/char/agp/alpha-agp.c\n"
  "+++ linux-2.6/drivers/char/agp/alpha-agp.c\n"
  "@@ -11,29 +11,28 @@\n"
  " \n"
@@ -339,7 +345,7 @@
  "+\t\t\t\t\t\t+ agp->aperture.bus_base;\n"
  " \tpa = agp->ops->translate(agp, dma_addr);\n"
  " \n"
- " \tif (pa = (unsigned long)-EINVAL)\n"
+ " \tif (pa == (unsigned long)-EINVAL)\n"
  "-\t\treturn NULL;\t/* no translation */\n"
  "+\t\treturn VM_FAULT_SIGBUS;\t/* no translation */\n"
  " \n"
@@ -355,7 +361,8 @@
  "+\treturn 0;\n"
  " }\n"
  " \n"
- " static struct aper_size_info_fixed alpha_core_agp_sizes[] @@ -42,7 +41,7 @@ static struct aper_size_info_fixed alpha\n"
+ " static struct aper_size_info_fixed alpha_core_agp_sizes[] =\n"
+ "@@ -42,7 +41,7 @@ static struct aper_size_info_fixed alpha\n"
  " };\n"
  " \n"
  " struct vm_operations_struct alpha_core_agp_vm_ops = {\n"
@@ -365,7 +372,8 @@
  " \n"
  " \n"
  "Index: linux-2.6/drivers/char/drm/drm_vm.c\n"
- "=================================--- linux-2.6.orig/drivers/char/drm/drm_vm.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/char/drm/drm_vm.c\n"
  "+++ linux-2.6/drivers/char/drm/drm_vm.c\n"
  "@@ -66,7 +66,7 @@ static pgprot_t drm_io_prot(uint32_t map\n"
  " }\n"
@@ -405,7 +413,7 @@
  " \tr_list = drm_hash_entry(hash, struct drm_map_list, hash);\n"
  " \tmap = r_list->map;\n"
  " \n"
- " \tif (map && map->type = _DRM_AGP) {\n"
+ " \tif (map && map->type == _DRM_AGP) {\n"
  "-\t\tunsigned long offset = address - vma->vm_start;\n"
  "+\t\t/*\n"
  "+\t\t * Using vm_pgoff as a selector forces us to use this unusual\n"
@@ -676,7 +684,8 @@
  " \t\t    page_to_pfn(virt_to_page(map->handle)),\n"
  " \t\t    vma->vm_end - vma->vm_start, vma->vm_page_prot))\n"
  "Index: linux-2.6/drivers/ieee1394/dma.c\n"
- "=================================--- linux-2.6.orig/drivers/ieee1394/dma.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/ieee1394/dma.c\n"
  "+++ linux-2.6/drivers/ieee1394/dma.c\n"
  "@@ -231,37 +231,32 @@ void dma_region_sync_for_device(struct d\n"
  " \n"
@@ -742,7 +751,8 @@
  " \t\treturn -EINVAL;\n"
  " \n"
  "Index: linux-2.6/drivers/infiniband/hw/ipath/ipath_file_ops.c\n"
- "=================================--- linux-2.6.orig/drivers/infiniband/hw/ipath/ipath_file_ops.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/infiniband/hw/ipath/ipath_file_ops.c\n"
  "+++ linux-2.6/drivers/infiniband/hw/ipath/ipath_file_ops.c\n"
  "@@ -1120,33 +1120,24 @@ bail:\n"
  " }\n"
@@ -789,7 +799,8 @@
  " \n"
  " static int mmap_kvaddr(struct vm_area_struct *vma, u64 pgaddr,\n"
  "Index: linux-2.6/drivers/kvm/kvm_main.c\n"
- "=================================--- linux-2.6.orig/drivers/kvm/kvm_main.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/kvm/kvm_main.c\n"
  "+++ linux-2.6/drivers/kvm/kvm_main.c\n"
  "@@ -2534,30 +2534,24 @@ static int kvm_vcpu_ioctl_debug_guest(st\n"
  " \treturn r;\n"
@@ -805,11 +816,11 @@
  " \tstruct page *page;\n"
  " \n"
  "-\tpgoff = ((address - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;\n"
- "-\tif (pgoff = 0)\n"
- "+\tif (vmf->pgoff = 0)\n"
+ "-\tif (pgoff == 0)\n"
+ "+\tif (vmf->pgoff == 0)\n"
  " \t\tpage = virt_to_page(vcpu->run);\n"
- "-\telse if (pgoff = KVM_PIO_PAGE_OFFSET)\n"
- "+\telse if (vmf->pgoff = KVM_PIO_PAGE_OFFSET)\n"
+ "-\telse if (pgoff == KVM_PIO_PAGE_OFFSET)\n"
+ "+\telse if (vmf->pgoff == KVM_PIO_PAGE_OFFSET)\n"
  " \t\tpage = virt_to_page(vcpu->pio_data);\n"
  " \telse\n"
  "-\t\treturn NOPAGE_SIGBUS;\n"
@@ -864,7 +875,8 @@
  " \n"
  " static int kvm_vm_mmap(struct file *file, struct vm_area_struct *vma)\n"
  "Index: linux-2.6/drivers/media/video/videobuf-dma-sg.c\n"
- "=================================--- linux-2.6.orig/drivers/media/video/videobuf-dma-sg.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/media/video/videobuf-dma-sg.c\n"
  "+++ linux-2.6/drivers/media/video/videobuf-dma-sg.c\n"
  "@@ -385,30 +385,26 @@ videobuf_vm_close(struct vm_area_struct \n"
  "  * now ...).  Bounce buffers don't work very well for the data rates\n"
@@ -896,7 +908,8 @@
  "+\treturn 0;\n"
  " }\n"
  " \n"
- " static struct vm_operations_struct videobuf_vm_ops  {\n"
+ " static struct vm_operations_struct videobuf_vm_ops =\n"
+ " {\n"
  " \t.open     = videobuf_vm_open,\n"
  " \t.close    = videobuf_vm_close,\n"
  "-\t.nopage   = videobuf_vm_nopage,\n"
@@ -905,7 +918,8 @@
  " \n"
  " /* ---------------------------------------------------------------------\n"
  "Index: linux-2.6/drivers/scsi/sg.c\n"
- "=================================--- linux-2.6.orig/drivers/scsi/sg.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/scsi/sg.c\n"
  "+++ linux-2.6/drivers/scsi/sg.c\n"
  "@@ -1144,23 +1144,22 @@ sg_fasync(int fd, struct file *filp, int\n"
  " \treturn (retval < 0) ? retval : 0;\n"
@@ -923,7 +937,7 @@
  " \tstruct scatterlist *sg;\n"
  " \tint k;\n"
  " \n"
- " \tif ((NULL = vma) || (!(sfp = (Sg_fd *) vma->vm_private_data)))\n"
+ " \tif ((NULL == vma) || (!(sfp = (Sg_fd *) vma->vm_private_data)))\n"
  "-\t\treturn page;\n"
  "+\t\treturn VM_FAULT_SIGBUS;\n"
  " \trsv_schp = &sfp->reserve;\n"
@@ -965,7 +979,8 @@
  " \n"
  " static int\n"
  "Index: linux-2.6/drivers/usb/mon/mon_bin.c\n"
- "=================================--- linux-2.6.orig/drivers/usb/mon/mon_bin.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/usb/mon/mon_bin.c\n"
  "+++ linux-2.6/drivers/usb/mon/mon_bin.c\n"
  "@@ -1045,33 +1045,31 @@ static void mon_bin_vma_close(struct vm_\n"
  " /*\n"
@@ -1009,7 +1024,8 @@
  " \tvma->vm_flags |= VM_RESERVED;\n"
  " \tvma->vm_private_data = filp->private_data;\n"
  "Index: linux-2.6/drivers/video/fb_defio.c\n"
- "=================================--- linux-2.6.orig/drivers/video/fb_defio.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/video/fb_defio.c\n"
  "+++ linux-2.6/drivers/video/fb_defio.c\n"
  "@@ -25,8 +25,8 @@\n"
  " #include <linux/pagemap.h>\n"
@@ -1056,7 +1072,8 @@
  " };\n"
  " \n"
  "Index: linux-2.6/sound/core/pcm_native.c\n"
- "=================================--- linux-2.6.orig/sound/core/pcm_native.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/sound/core/pcm_native.c\n"
  "+++ linux-2.6/sound/core/pcm_native.c\n"
  "@@ -3018,26 +3018,23 @@ static unsigned int snd_pcm_capture_poll\n"
  " /*\n"
@@ -1071,7 +1088,7 @@
  " \tstruct snd_pcm_runtime *runtime;\n"
  "-\tstruct page * page;\n"
  " \t\n"
- " \tif (substream = NULL)\n"
+ " \tif (substream == NULL)\n"
  "-\t\treturn NOPAGE_SIGBUS;\n"
  "+\t\treturn VM_FAULT_SIGBUS;\n"
  " \truntime = substream->runtime;\n"
@@ -1085,7 +1102,8 @@
  "+\treturn 0;\n"
  " }\n"
  " \n"
- " static struct vm_operations_struct snd_pcm_vm_ops_status  {\n"
+ " static struct vm_operations_struct snd_pcm_vm_ops_status =\n"
+ " {\n"
  "-\t.nopage =\tsnd_pcm_mmap_status_nopage,\n"
  "+\t.fault =\tsnd_pcm_mmap_status_fault,\n"
  " };\n"
@@ -1104,7 +1122,7 @@
  " \tstruct snd_pcm_runtime *runtime;\n"
  "-\tstruct page * page;\n"
  " \t\n"
- " \tif (substream = NULL)\n"
+ " \tif (substream == NULL)\n"
  "-\t\treturn NOPAGE_SIGBUS;\n"
  "+\t\treturn VM_FAULT_SIGBUS;\n"
  " \truntime = substream->runtime;\n"
@@ -1118,7 +1136,8 @@
  "+\treturn 0;\n"
  " }\n"
  " \n"
- " static struct vm_operations_struct snd_pcm_vm_ops_control  {\n"
+ " static struct vm_operations_struct snd_pcm_vm_ops_control =\n"
+ " {\n"
  "-\t.nopage =\tsnd_pcm_mmap_control_nopage,\n"
  "+\t.fault =\tsnd_pcm_mmap_control_fault,\n"
  " };\n"
@@ -1141,13 +1160,13 @@
  "@@ -3130,33 +3124,30 @@ static struct page *snd_pcm_mmap_data_no\n"
  " \tsize_t dma_bytes;\n"
  " \t\n"
- " \tif (substream = NULL)\n"
+ " \tif (substream == NULL)\n"
  "-\t\treturn NOPAGE_SIGBUS;\n"
  "+\t\treturn VM_FAULT_SIGBUS;\n"
  " \truntime = substream->runtime;\n"
  "-\toffset = area->vm_pgoff << PAGE_SHIFT;\n"
  "-\toffset += address - area->vm_start;\n"
- "-\tsnd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_SIGBUS);\n"
+ "-\tsnd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_SIGBUS);\n"
  "+\toffset = vmf->pgoff << PAGE_SHIFT;\n"
  " \tdma_bytes = PAGE_ALIGN(runtime->dma_bytes);\n"
  " \tif (offset > dma_bytes - PAGE_SIZE)\n"
@@ -1171,7 +1190,8 @@
  "+\treturn 0;\n"
  " }\n"
  " \n"
- " static struct vm_operations_struct snd_pcm_vm_ops_data  {\n"
+ " static struct vm_operations_struct snd_pcm_vm_ops_data =\n"
+ " {\n"
  " \t.open =\t\tsnd_pcm_mmap_data_open,\n"
  " \t.close =\tsnd_pcm_mmap_data_close,\n"
  "-\t.nopage =\tsnd_pcm_mmap_data_nopage,\n"
@@ -1180,7 +1200,8 @@
  " \n"
  " /*\n"
  "Index: linux-2.6/sound/oss/via82cxxx_audio.c\n"
- "=================================--- linux-2.6.orig/sound/oss/via82cxxx_audio.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/sound/oss/via82cxxx_audio.c\n"
  "+++ linux-2.6/sound/oss/via82cxxx_audio.c\n"
  "@@ -2099,8 +2099,7 @@ static void via_dsp_cleanup (struct via_\n"
  " }\n"
@@ -1233,7 +1254,8 @@
  " \n"
  " \n"
  "Index: linux-2.6/sound/usb/usx2y/usX2Yhwdep.c\n"
- "=================================--- linux-2.6.orig/sound/usb/usx2y/usX2Yhwdep.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/sound/usb/usx2y/usX2Yhwdep.c\n"
  "+++ linux-2.6/sound/usb/usx2y/usX2Yhwdep.c\n"
  "@@ -34,34 +34,29 @@\n"
  " int usX2Y_hwdep_pcm_new(struct snd_card *card);\n"
@@ -1256,7 +1278,7 @@
  " \t\n"
  "-\toffset = area->vm_pgoff << PAGE_SHIFT;\n"
  "-\toffset += address - area->vm_start;\n"
- "-\tsnd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_SIGBUS);\n"
+ "-\tsnd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_SIGBUS);\n"
  "+\toffset = vmf->pgoff << PAGE_SHIFT;\n"
  " \tvaddr = (char*)((struct usX2Ydev *)area->vm_private_data)->us428ctls_sharedmem + offset;\n"
  " \tpage = virt_to_page(vaddr);\n"
@@ -1279,7 +1301,8 @@
  " \n"
  " static int snd_us428ctls_mmap(struct snd_hwdep * hw, struct file *filp, struct vm_area_struct *area)\n"
  "Index: linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c\n"
- "=================================--- linux-2.6.orig/sound/usb/usx2y/usx2yhwdeppcm.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/sound/usb/usx2y/usx2yhwdeppcm.c\n"
  "+++ linux-2.6/sound/usb/usx2y/usx2yhwdeppcm.c\n"
  "@@ -683,30 +683,23 @@ static void snd_usX2Y_hwdep_pcm_vm_close\n"
  " }\n"
@@ -1294,7 +1317,7 @@
  " \n"
  "-\toffset = area->vm_pgoff << PAGE_SHIFT;\n"
  "-\toffset += address - area->vm_start;\n"
- "-\tsnd_assert((offset % PAGE_SIZE) = 0, return NOPAGE_OOM);\n"
+ "-\tsnd_assert((offset % PAGE_SIZE) == 0, return NOPAGE_OOM);\n"
  "+\toffset = vmf->pgoff << PAGE_SHIFT;\n"
  " \tvaddr = (char*)((struct usX2Ydev *)area->vm_private_data)->hwdep_pcm_shm + offset;\n"
  "-\tpage = virt_to_page(vaddr);\n"
@@ -1319,7 +1342,8 @@
  " \n"
  " \n"
  "Index: linux-2.6/Documentation/fb/deferred_io.txt\n"
- "=================================--- linux-2.6.orig/Documentation/fb/deferred_io.txt\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/Documentation/fb/deferred_io.txt\n"
  "+++ linux-2.6/Documentation/fb/deferred_io.txt\n"
  "@@ -7,10 +7,10 @@ IO. The following example may be a usefu\n"
  " works:\n"
@@ -1336,7 +1360,8 @@
  " - schedule a workqueue task to be run after a delay\n"
  " - app continues writing to that page with no additional cost. this is\n"
  "Index: linux-2.6/Documentation/feature-removal-schedule.txt\n"
- "=================================--- linux-2.6.orig/Documentation/feature-removal-schedule.txt\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/Documentation/feature-removal-schedule.txt\n"
  "+++ linux-2.6/Documentation/feature-removal-schedule.txt\n"
  "@@ -172,15 +172,6 @@ Who:\tGreg Kroah-Hartman <gregkh@suse.de>\n"
  " \n"
@@ -1355,7 +1380,8 @@
  " When:\tSeptember 2007\n"
  " Why:\tThe interrupt related SA_* flags are replaced by IRQF_* to move them\n"
  "Index: linux-2.6/Documentation/filesystems/Locking\n"
- "=================================--- linux-2.6.orig/Documentation/filesystems/Locking\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/Documentation/filesystems/Locking\n"
  "+++ linux-2.6/Documentation/filesystems/Locking\n"
  "@@ -514,7 +514,6 @@ prototypes:\n"
  " \tvoid (*open)(struct vm_area_struct*);\n"
@@ -1379,7 +1405,8 @@
  " ->read() and ->write() in many drivers are (probably) missing BKL.\n"
  "-drivers/sgi/char/graphics.c::sgi_graphics_nopage() - may need BKL.\n"
  "Index: linux-2.6/mm/rmap.c\n"
- "=================================--- linux-2.6.orig/mm/rmap.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/mm/rmap.c\n"
  "+++ linux-2.6/mm/rmap.c\n"
  "@@ -621,7 +621,6 @@ void page_remove_rmap(struct page *page,\n"
  " \t\t\tprintk (KERN_EMERG \"  page->mapping = %p\\n\", page->mapping);\n"
@@ -1390,7 +1417,8 @@
  " \t\t\t}\n"
  " \t\t\tif (vma->vm_file && vma->vm_file->f_op)\n"
  "Index: linux-2.6/drivers/uio/uio.c\n"
- "=================================--- linux-2.6.orig/drivers/uio/uio.c\n"
+ "===================================================================\n"
+ "--- linux-2.6.orig/drivers/uio/uio.c\n"
  "+++ linux-2.6/drivers/uio/uio.c\n"
  "@@ -412,30 +412,28 @@ static void uio_vma_close(struct vm_area\n"
  " \tidev->vma_count--;\n"
@@ -1409,7 +1437,7 @@
  "-\t\treturn page;\n"
  "+\t\treturn VM_FAULT_SIGBUS;\n"
  " \n"
- " \tif (idev->info->mem[mi].memtype = UIO_MEM_LOGICAL)\n"
+ " \tif (idev->info->mem[mi].memtype == UIO_MEM_LOGICAL)\n"
  " \t\tpage = virt_to_page(idev->info->mem[mi].addr);\n"
  " \telse\n"
  " \t\tpage = vmalloc_to_page((void*)idev->info->mem[mi].addr);\n"
@@ -1428,6 +1456,12 @@
  "+\t.fault = uio_vma_fault,\n"
  " };\n"
  " \n"
-  static int uio_mmap_physical(struct vm_area_struct *vma)
+ " static int uio_mmap_physical(struct vm_area_struct *vma)\n"
+ "\n"
+ "--\n"
+ "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n"
+ "the body to majordomo@kvack.org.  For more info on Linux MM,\n"
+ "see: http://www.linux-mm.org/ .\n"
+ "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>"
 
-9485d0a07ee7724606b2242392d04d752f7bc4c82aad4f3ccfc604133d5a7934
+e2a57c8c83c2a6dd999ba6908736f205b7d746da6bf5a137b9d8a94a15741852

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.