aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Dobriyan <adobriyan@gmail.com>2009-09-27 14:29:37 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-09-27 14:39:25 -0400
commitf0f37e2f77731b3473fa6bd5ee53255d9a9cdb40 (patch)
tree3c26d3ed1a453156e9c208ccb5567a8954dba064
parent6f5071020d5ec89b5d095aa488db604adb921aec (diff)
const: mark struct vm_struct_operations
* mark struct vm_area_struct::vm_ops as const * mark vm_ops in AGP code But leave TTM code alone, something is fishy there with global vm_ops being used. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--arch/ia64/ia32/binfmt_elf32.c4
-rw-r--r--arch/powerpc/platforms/cell/spufs/file.c14
-rw-r--r--arch/x86/pci/i386.c2
-rw-r--r--drivers/char/agp/agp.h2
-rw-r--r--drivers/char/agp/alpha-agp.c2
-rw-r--r--drivers/char/mem.c2
-rw-r--r--drivers/char/mspec.c2
-rw-r--r--drivers/gpu/drm/drm_vm.c8
-rw-r--r--drivers/gpu/drm/radeon/radeon_ttm.c2
-rw-r--r--drivers/gpu/drm/ttm/ttm_bo_vm.c2
-rw-r--r--drivers/ieee1394/dma.c2
-rw-r--r--drivers/infiniband/hw/ehca/ehca_uverbs.c2
-rw-r--r--drivers/infiniband/hw/ipath/ipath_file_ops.c2
-rw-r--r--drivers/infiniband/hw/ipath/ipath_mmap.c2
-rw-r--r--drivers/media/video/cafe_ccic.c2
-rw-r--r--drivers/media/video/et61x251/et61x251_core.c2
-rw-r--r--drivers/media/video/gspca/gspca.c2
-rw-r--r--drivers/media/video/meye.c2
-rw-r--r--drivers/media/video/sn9c102/sn9c102_core.c2
-rw-r--r--drivers/media/video/stk-webcam.c2
-rw-r--r--drivers/media/video/uvc/uvc_v4l2.c2
-rw-r--r--drivers/media/video/videobuf-dma-contig.c2
-rw-r--r--drivers/media/video/videobuf-dma-sg.c2
-rw-r--r--drivers/media/video/videobuf-vmalloc.c2
-rw-r--r--drivers/media/video/vino.c2
-rw-r--r--drivers/media/video/zc0301/zc0301_core.c2
-rw-r--r--drivers/media/video/zoran/zoran_driver.c2
-rw-r--r--drivers/misc/sgi-gru/grufile.c2
-rw-r--r--drivers/misc/sgi-gru/grutables.h2
-rw-r--r--drivers/scsi/sg.c2
-rw-r--r--drivers/uio/uio.c2
-rw-r--r--drivers/usb/mon/mon_bin.c2
-rw-r--r--drivers/video/fb_defio.c2
-rw-r--r--drivers/video/omap/dispc.c2
-rw-r--r--fs/btrfs/file.c2
-rw-r--r--fs/ext4/file.c2
-rw-r--r--fs/fuse/file.c2
-rw-r--r--fs/gfs2/file.c2
-rw-r--r--fs/ncpfs/mmap.c2
-rw-r--r--fs/nfs/file.c4
-rw-r--r--fs/nilfs2/file.c2
-rw-r--r--fs/ocfs2/mmap.c2
-rw-r--r--fs/sysfs/bin.c4
-rw-r--r--fs/ubifs/file.c2
-rw-r--r--fs/xfs/linux-2.6/xfs_file.c4
-rw-r--r--include/linux/agp_backend.h2
-rw-r--r--include/linux/hugetlb.h2
-rw-r--r--include/linux/mm_types.h2
-rw-r--r--include/linux/ramfs.h2
-rw-r--r--ipc/shm.c4
-rw-r--r--kernel/perf_event.c2
-rw-r--r--kernel/relay.c2
-rw-r--r--mm/filemap.c2
-rw-r--r--mm/filemap_xip.c2
-rw-r--r--mm/hugetlb.c2
-rw-r--r--mm/mmap.c2
-rw-r--r--mm/nommu.c2
-rw-r--r--mm/shmem.c4
-rw-r--r--net/packet/af_packet.c2
-rw-r--r--sound/core/pcm_native.c8
-rw-r--r--sound/usb/usx2y/us122l.c2
-rw-r--r--sound/usb/usx2y/usX2Yhwdep.c2
-rw-r--r--sound/usb/usx2y/usx2yhwdeppcm.c2
-rw-r--r--virt/kvm/kvm_main.c4
64 files changed, 83 insertions, 83 deletions
diff --git a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c
index f92bdaac897..c69552bf893 100644
--- a/arch/ia64/ia32/binfmt_elf32.c
+++ b/arch/ia64/ia32/binfmt_elf32.c
@@ -69,11 +69,11 @@ ia32_install_gate_page (struct vm_area_struct *vma, struct vm_fault *vmf)
69} 69}
70 70
71 71
72static struct vm_operations_struct ia32_shared_page_vm_ops = { 72static const struct vm_operations_struct ia32_shared_page_vm_ops = {
73 .fault = ia32_install_shared_page 73 .fault = ia32_install_shared_page
74}; 74};
75 75
76static struct vm_operations_struct ia32_gate_page_vm_ops = { 76static const struct vm_operations_struct ia32_gate_page_vm_ops = {
77 .fault = ia32_install_gate_page 77 .fault = ia32_install_gate_page
78}; 78};
79 79
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c
index 8f079b865ad..96130944617 100644
--- a/arch/powerpc/platforms/cell/spufs/file.c
+++ b/arch/powerpc/platforms/cell/spufs/file.c
@@ -309,7 +309,7 @@ static int spufs_mem_mmap_access(struct vm_area_struct *vma,
309 return len; 309 return len;
310} 310}
311 311
312static struct vm_operations_struct spufs_mem_mmap_vmops = { 312static const struct vm_operations_struct spufs_mem_mmap_vmops = {
313 .fault = spufs_mem_mmap_fault, 313 .fault = spufs_mem_mmap_fault,
314 .access = spufs_mem_mmap_access, 314 .access = spufs_mem_mmap_access,
315}; 315};
@@ -436,7 +436,7 @@ static int spufs_cntl_mmap_fault(struct vm_area_struct *vma,
436 return spufs_ps_fault(vma, vmf, 0x4000, SPUFS_CNTL_MAP_SIZE); 436 return spufs_ps_fault(vma, vmf, 0x4000, SPUFS_CNTL_MAP_SIZE);
437} 437}
438 438
439static struct vm_operations_struct spufs_cntl_mmap_vmops = { 439static const struct vm_operations_struct spufs_cntl_mmap_vmops = {
440 .fault = spufs_cntl_mmap_fault, 440 .fault = spufs_cntl_mmap_fault,
441}; 441};
442 442
@@ -1143,7 +1143,7 @@ spufs_signal1_mmap_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
1143#endif 1143#endif
1144} 1144}
1145 1145
1146static struct vm_operations_struct spufs_signal1_mmap_vmops = { 1146static const struct vm_operations_struct spufs_signal1_mmap_vmops = {
1147 .fault = spufs_signal1_mmap_fault, 1147 .fault = spufs_signal1_mmap_fault,
1148}; 1148};
1149 1149
@@ -1279,7 +1279,7 @@ spufs_signal2_mmap_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
1279#endif 1279#endif
1280} 1280}
1281 1281
1282static struct vm_operations_struct spufs_signal2_mmap_vmops = { 1282static const struct vm_operations_struct spufs_signal2_mmap_vmops = {
1283 .fault = spufs_signal2_mmap_fault, 1283 .fault = spufs_signal2_mmap_fault,
1284}; 1284};
1285 1285
@@ -1397,7 +1397,7 @@ spufs_mss_mmap_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
1397 return spufs_ps_fault(vma, vmf, 0x0000, SPUFS_MSS_MAP_SIZE); 1397 return spufs_ps_fault(vma, vmf, 0x0000, SPUFS_MSS_MAP_SIZE);
1398} 1398}
1399 1399
1400static struct vm_operations_struct spufs_mss_mmap_vmops = { 1400static const struct vm_operations_struct spufs_mss_mmap_vmops = {
1401 .fault = spufs_mss_mmap_fault, 1401 .fault = spufs_mss_mmap_fault,
1402}; 1402};
1403 1403
@@ -1458,7 +1458,7 @@ spufs_psmap_mmap_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
1458 return spufs_ps_fault(vma, vmf, 0x0000, SPUFS_PS_MAP_SIZE); 1458 return spufs_ps_fault(vma, vmf, 0x0000, SPUFS_PS_MAP_SIZE);
1459} 1459}
1460 1460
1461static struct vm_operations_struct spufs_psmap_mmap_vmops = { 1461static const struct vm_operations_struct spufs_psmap_mmap_vmops = {
1462 .fault = spufs_psmap_mmap_fault, 1462 .fault = spufs_psmap_mmap_fault,
1463}; 1463};
1464 1464
@@ -1517,7 +1517,7 @@ spufs_mfc_mmap_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
1517 return spufs_ps_fault(vma, vmf, 0x3000, SPUFS_MFC_MAP_SIZE); 1517 return spufs_ps_fault(vma, vmf, 0x3000, SPUFS_MFC_MAP_SIZE);
1518} 1518}
1519 1519
1520static struct vm_operations_struct spufs_mfc_mmap_vmops = { 1520static const struct vm_operations_struct spufs_mfc_mmap_vmops = {
1521 .fault = spufs_mfc_mmap_fault, 1521 .fault = spufs_mfc_mmap_fault,
1522}; 1522};
1523 1523
diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c
index 52e62e57fed..b22d13b0c71 100644
--- a/arch/x86/pci/i386.c
+++ b/arch/x86/pci/i386.c
@@ -266,7 +266,7 @@ void pcibios_set_master(struct pci_dev *dev)
266 pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat); 266 pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
267} 267}
268 268
269static struct vm_operations_struct pci_mmap_ops = { 269static const struct vm_operations_struct pci_mmap_ops = {
270 .access = generic_access_phys, 270 .access = generic_access_phys,
271}; 271};
272 272
diff --git a/drivers/char/agp/agp.h b/drivers/char/agp/agp.h
index d6f36c004d9..870f12cfed9 100644
--- a/drivers/char/agp/agp.h
+++ b/drivers/char/agp/agp.h
@@ -131,7 +131,7 @@ struct agp_bridge_driver {
131struct agp_bridge_data { 131struct agp_bridge_data {
132 const struct agp_version *version; 132 const struct agp_version *version;
133 const struct agp_bridge_driver *driver; 133 const struct agp_bridge_driver *driver;
134 struct vm_operations_struct *vm_ops; 134 const struct vm_operations_struct *vm_ops;
135 void *previous_size; 135 void *previous_size;
136 void *current_size; 136 void *current_size;
137 void *dev_private_data; 137 void *dev_private_data;
diff --git a/drivers/char/agp/alpha-agp.c b/drivers/char/agp/alpha-agp.c
index 5ea4da8e995..dd84af4d4f7 100644
--- a/drivers/char/agp/alpha-agp.c
+++ b/drivers/char/agp/alpha-agp.c
@@ -40,7 +40,7 @@ static struct aper_size_info_fixed alpha_core_agp_sizes[] =
40 { 0, 0, 0 }, /* filled in by alpha_core_agp_setup */ 40 { 0, 0, 0 }, /* filled in by alpha_core_agp_setup */
41}; 41};
42 42
43struct vm_operations_struct alpha_core_agp_vm_ops = { 43static const struct vm_operations_struct alpha_core_agp_vm_ops = {
44 .fault = alpha_core_agp_vm_fault, 44 .fault = alpha_core_agp_vm_fault,
45}; 45};
46 46
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 6c8b65d069e..a074fceb67d 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -301,7 +301,7 @@ static inline int private_mapping_ok(struct vm_area_struct *vma)
301} 301}
302#endif 302#endif
303 303
304static struct vm_operations_struct mmap_mem_ops = { 304static const struct vm_operations_struct mmap_mem_ops = {
305#ifdef CONFIG_HAVE_IOREMAP_PROT 305#ifdef CONFIG_HAVE_IOREMAP_PROT
306 .access = generic_access_phys 306 .access = generic_access_phys
307#endif 307#endif
diff --git a/drivers/char/mspec.c b/drivers/char/mspec.c
index 30f095a8c2d..1997270bb6f 100644
--- a/drivers/char/mspec.c
+++ b/drivers/char/mspec.c
@@ -239,7 +239,7 @@ mspec_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
239 return VM_FAULT_NOPAGE; 239 return VM_FAULT_NOPAGE;
240} 240}
241 241
242static struct vm_operations_struct mspec_vm_ops = { 242static const struct vm_operations_struct mspec_vm_ops = {
243 .open = mspec_open, 243 .open = mspec_open,
244 .close = mspec_close, 244 .close = mspec_close,
245 .fault = mspec_fault, 245 .fault = mspec_fault,
diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c
index 7e1fbe5d477..4ac900f4647 100644
--- a/drivers/gpu/drm/drm_vm.c
+++ b/drivers/gpu/drm/drm_vm.c
@@ -369,28 +369,28 @@ static int drm_vm_sg_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
369} 369}
370 370
371/** AGP virtual memory operations */ 371/** AGP virtual memory operations */
372static struct vm_operations_struct drm_vm_ops = { 372static const struct vm_operations_struct drm_vm_ops = {
373 .fault = drm_vm_fault, 373 .fault = drm_vm_fault,
374 .open = drm_vm_open, 374 .open = drm_vm_open,
375 .close = drm_vm_close, 375 .close = drm_vm_close,
376}; 376};
377 377
378/** Shared virtual memory operations */ 378/** Shared virtual memory operations */
379static struct vm_operations_struct drm_vm_shm_ops = { 379static const struct vm_operations_struct drm_vm_shm_ops = {
380 .fault = drm_vm_shm_fault, 380 .fault = drm_vm_shm_fault,
381 .open = drm_vm_open, 381 .open = drm_vm_open,
382 .close = drm_vm_shm_close, 382 .close = drm_vm_shm_close,
383}; 383};
384 384
385/** DMA virtual memory operations */ 385/** DMA virtual memory operations */
386static struct vm_operations_struct drm_vm_dma_ops = { 386static const struct vm_operations_struct drm_vm_dma_ops = {
387 .fault = drm_vm_dma_fault, 387 .fault = drm_vm_dma_fault,
388 .open = drm_vm_open, 388 .open = drm_vm_open,
389 .close = drm_vm_close, 389 .close = drm_vm_close,
390}; 390};
391 391
392/** Scatter-gather virtual memory operations */ 392/** Scatter-gather virtual memory operations */
393static struct vm_operations_struct drm_vm_sg_ops = { 393static const struct vm_operations_struct drm_vm_sg_ops = {
394 .fault = drm_vm_sg_fault, 394 .fault = drm_vm_sg_fault,
395 .open = drm_vm_open, 395 .open = drm_vm_open,
396 .close = drm_vm_close, 396 .close = drm_vm_close,
diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
index acd889c9454..5b1cf04a011 100644
--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -530,7 +530,7 @@ void radeon_ttm_fini(struct radeon_device *rdev)
530} 530}
531 531
532static struct vm_operations_struct radeon_ttm_vm_ops; 532static struct vm_operations_struct radeon_ttm_vm_ops;
533static struct vm_operations_struct *ttm_vm_ops = NULL; 533static const struct vm_operations_struct *ttm_vm_ops = NULL;
534 534
535static int radeon_ttm_fault(struct vm_area_struct *vma, struct vm_fault *vmf) 535static int radeon_ttm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
536{ 536{
diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c
index 33de7637c0c..1c040d04033 100644
--- a/drivers/gpu/drm/ttm/ttm_bo_vm.c
+++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c
@@ -228,7 +228,7 @@ static void ttm_bo_vm_close(struct vm_area_struct *vma)
228 vma->vm_private_data = NULL; 228 vma->vm_private_data = NULL;
229} 229}
230 230
231static struct vm_operations_struct ttm_bo_vm_ops = { 231static const struct vm_operations_struct ttm_bo_vm_ops = {
232 .fault = ttm_bo_vm_fault, 232 .fault = ttm_bo_vm_fault,
233 .open = ttm_bo_vm_open, 233 .open = ttm_bo_vm_open,
234 .close = ttm_bo_vm_close 234 .close = ttm_bo_vm_close
diff --git a/drivers/ieee1394/dma.c b/drivers/ieee1394/dma.c
index 1aba8c13fe8..8e7e3344c4b 100644
--- a/drivers/ieee1394/dma.c
+++ b/drivers/ieee1394/dma.c
@@ -247,7 +247,7 @@ static int dma_region_pagefault(struct vm_area_struct *vma,
247 return 0; 247 return 0;
248} 248}
249 249
250static struct vm_operations_struct dma_region_vm_ops = { 250static const struct vm_operations_struct dma_region_vm_ops = {
251 .fault = dma_region_pagefault, 251 .fault = dma_region_pagefault,
252}; 252};
253 253
diff --git a/drivers/infiniband/hw/ehca/ehca_uverbs.c b/drivers/infiniband/hw/ehca/ehca_uverbs.c
index 3cb688d2913..f1565cae8ec 100644
--- a/drivers/infiniband/hw/ehca/ehca_uverbs.c
+++ b/drivers/infiniband/hw/ehca/ehca_uverbs.c
@@ -95,7 +95,7 @@ static void ehca_mm_close(struct vm_area_struct *vma)
95 vma->vm_start, vma->vm_end, *count); 95 vma->vm_start, vma->vm_end, *count);
96} 96}
97 97
98static struct vm_operations_struct vm_ops = { 98static const struct vm_operations_struct vm_ops = {
99 .open = ehca_mm_open, 99 .open = ehca_mm_open,
100 .close = ehca_mm_close, 100 .close = ehca_mm_close,
101}; 101};
diff --git a/drivers/infiniband/hw/ipath/ipath_file_ops.c b/drivers/infiniband/hw/ipath/ipath_file_ops.c
index 38a28700661..40dbe54056c 100644
--- a/drivers/infiniband/hw/ipath/ipath_file_ops.c
+++ b/drivers/infiniband/hw/ipath/ipath_file_ops.c
@@ -1151,7 +1151,7 @@ static int ipath_file_vma_fault(struct vm_area_struct *vma,
1151 return 0; 1151 return 0;
1152} 1152}
1153 1153
1154static struct vm_operations_struct ipath_file_vm_ops = { 1154static const struct vm_operations_struct ipath_file_vm_ops = {
1155 .fault = ipath_file_vma_fault, 1155 .fault = ipath_file_vma_fault,
1156}; 1156};
1157 1157
diff --git a/drivers/infiniband/hw/ipath/ipath_mmap.c b/drivers/infiniband/hw/ipath/ipath_mmap.c
index fa830e22002..b28865faf43 100644
--- a/drivers/infiniband/hw/ipath/ipath_mmap.c
+++ b/drivers/infiniband/hw/ipath/ipath_mmap.c
@@ -74,7 +74,7 @@ static void ipath_vma_close(struct vm_area_struct *vma)
74 kref_put(&ip->ref, ipath_release_mmap_info); 74 kref_put(&ip->ref, ipath_release_mmap_info);
75} 75}
76 76
77static struct vm_operations_struct ipath_vm_ops = { 77static const struct vm_operations_struct ipath_vm_ops = {
78 .open = ipath_vma_open, 78 .open = ipath_vma_open,
79 .close = ipath_vma_close, 79 .close = ipath_vma_close,
80}; 80};
diff --git a/drivers/media/video/cafe_ccic.c b/drivers/media/video/cafe_ccic.c
index 657c481d255..10230cb3d21 100644
--- a/drivers/media/video/cafe_ccic.c
+++ b/drivers/media/video/cafe_ccic.c
@@ -1325,7 +1325,7 @@ static void cafe_v4l_vm_close(struct vm_area_struct *vma)
1325 mutex_unlock(&sbuf->cam->s_mutex); 1325 mutex_unlock(&sbuf->cam->s_mutex);
1326} 1326}
1327 1327
1328static struct vm_operations_struct cafe_v4l_vm_ops = { 1328static const struct vm_operations_struct cafe_v4l_vm_ops = {
1329 .open = cafe_v4l_vm_open, 1329 .open = cafe_v4l_vm_open,
1330 .close = cafe_v4l_vm_close 1330 .close = cafe_v4l_vm_close
1331}; 1331};
diff --git a/drivers/media/video/et61x251/et61x251_core.c b/drivers/media/video/et61x251/et61x251_core.c
index 74092f436be..88987a57cf7 100644
--- a/drivers/media/video/et61x251/et61x251_core.c
+++ b/drivers/media/video/et61x251/et61x251_core.c
@@ -1496,7 +1496,7 @@ static void et61x251_vm_close(struct vm_area_struct* vma)
1496} 1496}
1497 1497
1498 1498
1499static struct vm_operations_struct et61x251_vm_ops = { 1499static const struct vm_operations_struct et61x251_vm_ops = {
1500 .open = et61x251_vm_open, 1500 .open = et61x251_vm_open,
1501 .close = et61x251_vm_close, 1501 .close = et61x251_vm_close,
1502}; 1502};
diff --git a/drivers/media/video/gspca/gspca.c b/drivers/media/video/gspca/gspca.c
index cf6540da1e4..23d3fb77691 100644
--- a/drivers/media/video/gspca/gspca.c
+++ b/drivers/media/video/gspca/gspca.c
@@ -99,7 +99,7 @@ static void gspca_vm_close(struct vm_area_struct *vma)
99 frame->v4l2_buf.flags &= ~V4L2_BUF_FLAG_MAPPED; 99 frame->v4l2_buf.flags &= ~V4L2_BUF_FLAG_MAPPED;
100} 100}
101 101
102static struct vm_operations_struct gspca_vm_ops = { 102static const struct vm_operations_struct gspca_vm_ops = {
103 .open = gspca_vm_open, 103 .open = gspca_vm_open,
104 .close = gspca_vm_close, 104 .close = gspca_vm_close,
105}; 105};
diff --git a/drivers/media/video/meye.c b/drivers/media/video/meye.c
index d0765bed79c..4b1bc05a462 100644
--- a/drivers/media/video/meye.c
+++ b/drivers/media/video/meye.c
@@ -1589,7 +1589,7 @@ static void meye_vm_close(struct vm_area_struct *vma)
1589 meye.vma_use_count[idx]--; 1589 meye.vma_use_count[idx]--;
1590} 1590}
1591 1591
1592static struct vm_operations_struct meye_vm_ops = { 1592static const struct vm_operations_struct meye_vm_ops = {
1593 .open = meye_vm_open, 1593 .open = meye_vm_open,
1594 .close = meye_vm_close, 1594 .close = meye_vm_close,
1595}; 1595};
diff --git a/drivers/media/video/sn9c102/sn9c102_core.c b/drivers/media/video/sn9c102/sn9c102_core.c
index 9d84c94e8a4..4a7711c3e74 100644
--- a/drivers/media/video/sn9c102/sn9c102_core.c
+++ b/drivers/media/video/sn9c102/sn9c102_core.c
@@ -2077,7 +2077,7 @@ static void sn9c102_vm_close(struct vm_area_struct* vma)
2077} 2077}
2078 2078
2079 2079
2080static struct vm_operations_struct sn9c102_vm_ops = { 2080static const struct vm_operations_struct sn9c102_vm_ops = {
2081 .open = sn9c102_vm_open, 2081 .open = sn9c102_vm_open,
2082 .close = sn9c102_vm_close, 2082 .close = sn9c102_vm_close,
2083}; 2083};
diff --git a/drivers/media/video/stk-webcam.c b/drivers/media/video/stk-webcam.c
index 0b996ea4134..6b41865f42b 100644
--- a/drivers/media/video/stk-webcam.c
+++ b/drivers/media/video/stk-webcam.c
@@ -790,7 +790,7 @@ static void stk_v4l_vm_close(struct vm_area_struct *vma)
790 if (sbuf->mapcount == 0) 790 if (sbuf->mapcount == 0)
791 sbuf->v4lbuf.flags &= ~V4L2_BUF_FLAG_MAPPED; 791 sbuf->v4lbuf.flags &= ~V4L2_BUF_FLAG_MAPPED;
792} 792}
793static struct vm_operations_struct stk_v4l_vm_ops = { 793static const struct vm_operations_struct stk_v4l_vm_ops = {
794 .open = stk_v4l_vm_open, 794 .open = stk_v4l_vm_open,
795 .close = stk_v4l_vm_close 795 .close = stk_v4l_vm_close
796}; 796};
diff --git a/drivers/media/video/uvc/uvc_v4l2.c b/drivers/media/video/uvc/uvc_v4l2.c
index 9e7351569b5..a2bdd806efa 100644
--- a/drivers/media/video/uvc/uvc_v4l2.c
+++ b/drivers/media/video/uvc/uvc_v4l2.c
@@ -1069,7 +1069,7 @@ static void uvc_vm_close(struct vm_area_struct *vma)
1069 buffer->vma_use_count--; 1069 buffer->vma_use_count--;
1070} 1070}
1071 1071
1072static struct vm_operations_struct uvc_vm_ops = { 1072static const struct vm_operations_struct uvc_vm_ops = {
1073 .open = uvc_vm_open, 1073 .open = uvc_vm_open,
1074 .close = uvc_vm_close, 1074 .close = uvc_vm_close,
1075}; 1075};
diff --git a/drivers/media/video/videobuf-dma-contig.c b/drivers/media/video/videobuf-dma-contig.c
index d09ce83a942..635ffc7b039 100644
--- a/drivers/media/video/videobuf-dma-contig.c
+++ b/drivers/media/video/videobuf-dma-contig.c
@@ -105,7 +105,7 @@ static void videobuf_vm_close(struct vm_area_struct *vma)
105 } 105 }
106} 106}
107 107
108static struct vm_operations_struct videobuf_vm_ops = { 108static const struct vm_operations_struct videobuf_vm_ops = {
109 .open = videobuf_vm_open, 109 .open = videobuf_vm_open,
110 .close = videobuf_vm_close, 110 .close = videobuf_vm_close,
111}; 111};
diff --git a/drivers/media/video/videobuf-dma-sg.c b/drivers/media/video/videobuf-dma-sg.c
index a8dd22ace3f..53cdd67cebe 100644
--- a/drivers/media/video/videobuf-dma-sg.c
+++ b/drivers/media/video/videobuf-dma-sg.c
@@ -394,7 +394,7 @@ videobuf_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
394 return 0; 394 return 0;
395} 395}
396 396
397static struct vm_operations_struct videobuf_vm_ops = 397static const struct vm_operations_struct videobuf_vm_ops =
398{ 398{
399 .open = videobuf_vm_open, 399 .open = videobuf_vm_open,
400 .close = videobuf_vm_close, 400 .close = videobuf_vm_close,
diff --git a/drivers/media/video/videobuf-vmalloc.c b/drivers/media/video/videobuf-vmalloc.c
index 30ae30f99cc..35f3900c563 100644
--- a/drivers/media/video/videobuf-vmalloc.c
+++ b/drivers/media/video/videobuf-vmalloc.c
@@ -116,7 +116,7 @@ static void videobuf_vm_close(struct vm_area_struct *vma)
116 return; 116 return;
117} 117}
118 118
119static struct vm_operations_struct videobuf_vm_ops = 119static const struct vm_operations_struct videobuf_vm_ops =
120{ 120{
121 .open = videobuf_vm_open, 121 .open = videobuf_vm_open,
122 .close = videobuf_vm_close, 122 .close = videobuf_vm_close,
diff --git a/drivers/media/video/vino.c b/drivers/media/video/vino.c
index cd6a3446ab7..b034a81d2b1 100644
--- a/drivers/media/video/vino.c
+++ b/drivers/media/video/vino.c
@@ -3857,7 +3857,7 @@ static void vino_vm_close(struct vm_area_struct *vma)
3857 dprintk("vino_vm_close(): count = %d\n", fb->map_count); 3857 dprintk("vino_vm_close(): count = %d\n", fb->map_count);
3858} 3858}
3859 3859
3860static struct vm_operations_struct vino_vm_ops = { 3860static const struct vm_operations_struct vino_vm_ops = {
3861 .open = vino_vm_open, 3861 .open = vino_vm_open,
3862 .close = vino_vm_close, 3862 .close = vino_vm_close,
3863}; 3863};
diff --git a/drivers/media/video/zc0301/zc0301_core.c b/drivers/media/video/zc0301/zc0301_core.c
index b3c6436b33b..312a71336fd 100644
--- a/drivers/media/video/zc0301/zc0301_core.c
+++ b/drivers/media/video/zc0301/zc0301_core.c
@@ -935,7 +935,7 @@ static void zc0301_vm_close(struct vm_area_struct* vma)
935} 935}
936 936
937 937
938static struct vm_operations_struct zc0301_vm_ops = { 938static const struct vm_operations_struct zc0301_vm_ops = {
939 .open = zc0301_vm_open, 939 .open = zc0301_vm_open,
940 .close = zc0301_vm_close, 940 .close = zc0301_vm_close,
941}; 941};
diff --git a/drivers/media/video/zoran/zoran_driver.c b/drivers/media/video/zoran/zoran_driver.c
index bcdefb1bcb3..47137deafcf 100644
--- a/drivers/media/video/zoran/zoran_driver.c
+++ b/drivers/media/video/zoran/zoran_driver.c
@@ -3172,7 +3172,7 @@ zoran_vm_close (struct vm_area_struct *vma)
3172 mutex_unlock(&zr->resource_lock); 3172 mutex_unlock(&zr->resource_lock);
3173} 3173}
3174 3174
3175static struct vm_operations_struct zoran_vm_ops = { 3175static const struct vm_operations_struct zoran_vm_ops = {
3176 .open = zoran_vm_open, 3176 .open = zoran_vm_open,
3177 .close = zoran_vm_close, 3177 .close = zoran_vm_close,
3178}; 3178};
diff --git a/drivers/misc/sgi-gru/grufile.c b/drivers/misc/sgi-gru/grufile.c
index aed609832bc..300e7ba391a 100644
--- a/drivers/misc/sgi-gru/grufile.c
+++ b/drivers/misc/sgi-gru/grufile.c
@@ -438,7 +438,7 @@ static struct miscdevice gru_miscdev = {
438 .fops = &gru_fops, 438 .fops = &gru_fops,
439}; 439};
440 440
441struct vm_operations_struct gru_vm_ops = { 441const struct vm_operations_struct gru_vm_ops = {
442 .close = gru_vma_close, 442 .close = gru_vma_close,
443 .fault = gru_fault, 443 .fault = gru_fault,
444}; 444};
diff --git a/drivers/misc/sgi-gru/grutables.h b/drivers/misc/sgi-gru/grutables.h
index 34ab3d45391..46990bcfa53 100644
--- a/drivers/misc/sgi-gru/grutables.h
+++ b/drivers/misc/sgi-gru/grutables.h
@@ -624,7 +624,7 @@ static inline int is_kernel_context(struct gru_thread_state *gts)
624 */ 624 */
625struct gru_unload_context_req; 625struct gru_unload_context_req;
626 626
627extern struct vm_operations_struct gru_vm_ops; 627extern const struct vm_operations_struct gru_vm_ops;
628extern struct device *grudev; 628extern struct device *grudev;
629 629
630extern struct gru_vma_data *gru_alloc_vma_data(struct vm_area_struct *vma, 630extern struct gru_vma_data *gru_alloc_vma_data(struct vm_area_struct *vma,
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 848b5946685..0cb049f5cc5 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -1185,7 +1185,7 @@ sg_vma_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
1185 return VM_FAULT_SIGBUS; 1185 return VM_FAULT_SIGBUS;
1186} 1186}
1187 1187
1188static struct vm_operations_struct sg_mmap_vm_ops = { 1188static const struct vm_operations_struct sg_mmap_vm_ops = {
1189 .fault = sg_vma_fault, 1189 .fault = sg_vma_fault,
1190}; 1190};
1191 1191
diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c
index 03efb065455..a9d70704720 100644
--- a/drivers/uio/uio.c
+++ b/drivers/uio/uio.c
@@ -658,7 +658,7 @@ static int uio_vma_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
658 return 0; 658 return 0;
659} 659}
660 660
661static struct vm_operations_struct uio_vm_ops = { 661static const struct vm_operations_struct uio_vm_ops = {
662 .open = uio_vma_open, 662 .open = uio_vma_open,
663 .close = uio_vma_close, 663 .close = uio_vma_close,
664 .fault = uio_vma_fault, 664 .fault = uio_vma_fault,
diff --git a/drivers/usb/mon/mon_bin.c b/drivers/usb/mon/mon_bin.c
index dfdc43e2e00..9ed3e741bee 100644
--- a/drivers/usb/mon/mon_bin.c
+++ b/drivers/usb/mon/mon_bin.c
@@ -1174,7 +1174,7 @@ static int mon_bin_vma_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
1174 return 0; 1174 return 0;
1175} 1175}
1176 1176
1177static struct vm_operations_struct mon_bin_vm_ops = { 1177static const struct vm_operations_struct mon_bin_vm_ops = {
1178 .open = mon_bin_vma_open, 1178 .open = mon_bin_vma_open,
1179 .close = mon_bin_vma_close, 1179 .close = mon_bin_vma_close,
1180 .fault = mon_bin_vma_fault, 1180 .fault = mon_bin_vma_fault,
diff --git a/drivers/video/fb_defio.c b/drivers/video/fb_defio.c
index 0a7a6679ee6..c27ab1ed960 100644
--- a/drivers/video/fb_defio.c
+++ b/drivers/video/fb_defio.c
@@ -125,7 +125,7 @@ page_already_added:
125 return 0; 125 return 0;
126} 126}
127 127
128static struct vm_operations_struct fb_deferred_io_vm_ops = { 128static const struct vm_operations_struct fb_deferred_io_vm_ops = {
129 .fault = fb_deferred_io_fault, 129 .fault = fb_deferred_io_fault,
130 .page_mkwrite = fb_deferred_io_mkwrite, 130 .page_mkwrite = fb_deferred_io_mkwrite,
131}; 131};
diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
index 80a11d078df..f16e4215422 100644
--- a/drivers/video/omap/dispc.c
+++ b/drivers/video/omap/dispc.c
@@ -1035,7 +1035,7 @@ static void mmap_user_close(struct vm_area_struct *vma)
1035 atomic_dec(&dispc.map_count[plane]); 1035 atomic_dec(&dispc.map_count[plane]);
1036} 1036}
1037 1037
1038static struct vm_operations_struct mmap_user_ops = { 1038static const struct vm_operations_struct mmap_user_ops = {
1039 .open = mmap_user_open, 1039 .open = mmap_user_open,
1040 .close = mmap_user_close, 1040 .close = mmap_user_close,
1041}; 1041};
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 571ad3c13b4..a3492a3ad96 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1184,7 +1184,7 @@ out:
1184 return ret > 0 ? EIO : ret; 1184 return ret > 0 ? EIO : ret;
1185} 1185}
1186 1186
1187static struct vm_operations_struct btrfs_file_vm_ops = { 1187static const struct vm_operations_struct btrfs_file_vm_ops = {
1188 .fault = filemap_fault, 1188 .fault = filemap_fault,
1189 .page_mkwrite = btrfs_page_mkwrite, 1189 .page_mkwrite = btrfs_page_mkwrite,
1190}; 1190};
diff --git a/fs/ext4/file.c b/fs/ext4/file.c
index 5ca3eca70a1..9630583cef2 100644
--- a/fs/ext4/file.c
+++ b/fs/ext4/file.c
@@ -81,7 +81,7 @@ ext4_file_write(struct kiocb *iocb, const struct iovec *iov,
81 return generic_file_aio_write(iocb, iov, nr_segs, pos); 81 return generic_file_aio_write(iocb, iov, nr_segs, pos);
82} 82}
83 83
84static struct vm_operations_struct ext4_file_vm_ops = { 84static const struct vm_operations_struct ext4_file_vm_ops = {
85 .fault = filemap_fault, 85 .fault = filemap_fault,
86 .page_mkwrite = ext4_page_mkwrite, 86 .page_mkwrite = ext4_page_mkwrite,
87}; 87};
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index cbc464043b6..a3492f7d207 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -1313,7 +1313,7 @@ static int fuse_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
1313 return 0; 1313 return 0;
1314} 1314}
1315 1315
1316static struct vm_operations_struct fuse_file_vm_ops = { 1316static const struct vm_operations_struct fuse_file_vm_ops = {
1317 .close = fuse_vma_close, 1317 .close = fuse_vma_close,
1318 .fault = filemap_fault, 1318 .fault = filemap_fault,
1319 .page_mkwrite = fuse_page_mkwrite, 1319 .page_mkwrite = fuse_page_mkwrite,
diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
index 166f38fbd24..4eb308aa323 100644
--- a/fs/gfs2/file.c
+++ b/fs/gfs2/file.c
@@ -418,7 +418,7 @@ out:
418 return ret; 418 return ret;
419} 419}
420 420
421static struct vm_operations_struct gfs2_vm_ops = { 421static const struct vm_operations_struct gfs2_vm_ops = {
422 .fault = filemap_fault, 422 .fault = filemap_fault,
423 .page_mkwrite = gfs2_page_mkwrite, 423 .page_mkwrite = gfs2_page_mkwrite,
424}; 424};
diff --git a/fs/ncpfs/mmap.c b/fs/ncpfs/mmap.c
index 5d8dcb9ee32..15458decdb8 100644
--- a/fs/ncpfs/mmap.c
+++ b/fs/ncpfs/mmap.c
@@ -95,7 +95,7 @@ static int ncp_file_mmap_fault(struct vm_area_struct *area,
95 return VM_FAULT_MAJOR; 95 return VM_FAULT_MAJOR;
96} 96}
97 97
98static struct vm_operations_struct ncp_file_mmap = 98static const struct vm_operations_struct ncp_file_mmap =
99{ 99{
100 .fault = ncp_file_mmap_fault, 100 .fault = ncp_file_mmap_fault,
101}; 101};
diff --git a/fs/nfs/file.c b/fs/nfs/file.c
index 86d6b4db109..f5fdd39e037 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -59,7 +59,7 @@ static int nfs_lock(struct file *filp, int cmd, struct file_lock *fl);
59static int nfs_flock(struct file *filp, int cmd, struct file_lock *fl); 59static int nfs_flock(struct file *filp, int cmd, struct file_lock *fl);
60static int nfs_setlease(struct file *file, long arg, struct file_lock **fl); 60static int nfs_setlease(struct file *file, long arg, struct file_lock **fl);
61 61
62static struct vm_operations_struct nfs_file_vm_ops; 62static const struct vm_operations_struct nfs_file_vm_ops;
63 63
64const struct file_operations nfs_file_operations = { 64const struct file_operations nfs_file_operations = {
65 .llseek = nfs_file_llseek, 65 .llseek = nfs_file_llseek,
@@ -572,7 +572,7 @@ out_unlock:
572 return VM_FAULT_SIGBUS; 572 return VM_FAULT_SIGBUS;
573} 573}
574 574
575static struct vm_operations_struct nfs_file_vm_ops = { 575static const struct vm_operations_struct nfs_file_vm_ops = {
576 .fault = filemap_fault, 576 .fault = filemap_fault,
577 .page_mkwrite = nfs_vm_page_mkwrite, 577 .page_mkwrite = nfs_vm_page_mkwrite,
578}; 578};
diff --git a/fs/nilfs2/file.c b/fs/nilfs2/file.c
index fc8278c77cd..7d7b4983dee 100644
--- a/fs/nilfs2/file.c
+++ b/fs/nilfs2/file.c
@@ -117,7 +117,7 @@ static int nilfs_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
117 return 0; 117 return 0;
118} 118}
119 119
120struct vm_operations_struct nilfs_file_vm_ops = { 120static const struct vm_operations_struct nilfs_file_vm_ops = {
121 .fault = filemap_fault, 121 .fault = filemap_fault,
122 .page_mkwrite = nilfs_page_mkwrite, 122 .page_mkwrite = nilfs_page_mkwrite,
123}; 123};
diff --git a/fs/ocfs2/mmap.c b/fs/ocfs2/mmap.c
index b606496b72e..39737613424 100644
--- a/fs/ocfs2/mmap.c
+++ b/fs/ocfs2/mmap.c
@@ -202,7 +202,7 @@ out:
202 return ret; 202 return ret;
203} 203}
204 204
205static struct vm_operations_struct ocfs2_file_vm_ops = { 205static const struct vm_operations_struct ocfs2_file_vm_ops = {
206 .fault = ocfs2_fault, 206 .fault = ocfs2_fault,
207 .page_mkwrite = ocfs2_page_mkwrite, 207 .page_mkwrite = ocfs2_page_mkwrite,
208}; 208};
diff --git a/fs/sysfs/bin.c b/fs/sysfs/bin.c
index 2524714bece..60c702bc10a 100644
--- a/fs/sysfs/bin.c
+++ b/fs/sysfs/bin.c
@@ -40,7 +40,7 @@ struct bin_buffer {
40 struct mutex mutex; 40 struct mutex mutex;
41 void *buffer; 41 void *buffer;
42 int mmapped; 42 int mmapped;
43 struct vm_operations_struct *vm_ops; 43 const struct vm_operations_struct *vm_ops;
44 struct file *file; 44 struct file *file;
45 struct hlist_node list; 45 struct hlist_node list;
46}; 46};
@@ -331,7 +331,7 @@ static int bin_migrate(struct vm_area_struct *vma, const nodemask_t *from,
331} 331}
332#endif 332#endif
333 333
334static struct vm_operations_struct bin_vm_ops = { 334static const struct vm_operations_struct bin_vm_ops = {
335 .open = bin_vma_open, 335 .open = bin_vma_open,
336 .close = bin_vma_close, 336 .close = bin_vma_close,
337 .fault = bin_fault, 337 .fault = bin_fault,
diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
index 2e6481a7701..1009adc8d60 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -1534,7 +1534,7 @@ out_unlock:
1534 return err; 1534 return err;
1535} 1535}
1536 1536
1537static struct vm_operations_struct ubifs_file_vm_ops = { 1537static const struct vm_operations_struct ubifs_file_vm_ops = {
1538 .fault = filemap_fault, 1538 .fault = filemap_fault,
1539 .page_mkwrite = ubifs_vm_page_mkwrite, 1539 .page_mkwrite = ubifs_vm_page_mkwrite,
1540}; 1540};
diff --git a/fs/xfs/linux-2.6/xfs_file.c b/fs/xfs/linux-2.6/xfs_file.c
index 988d8f87bc0..629370974e5 100644
--- a/fs/xfs/linux-2.6/xfs_file.c
+++ b/fs/xfs/linux-2.6/xfs_file.c
@@ -42,7 +42,7 @@
42 42
43#include <linux/dcache.h> 43#include <linux/dcache.h>
44 44
45static struct vm_operations_struct xfs_file_vm_ops; 45static const struct vm_operations_struct xfs_file_vm_ops;
46 46
47STATIC ssize_t 47STATIC ssize_t
48xfs_file_aio_read( 48xfs_file_aio_read(
@@ -280,7 +280,7 @@ const struct file_operations xfs_dir_file_operations = {
280 .fsync = xfs_file_fsync, 280 .fsync = xfs_file_fsync,
281}; 281};
282 282
283static struct vm_operations_struct xfs_file_vm_ops = { 283static const struct vm_operations_struct xfs_file_vm_ops = {
284 .fault = filemap_fault, 284 .fault = filemap_fault,
285 .page_mkwrite = xfs_vm_page_mkwrite, 285 .page_mkwrite = xfs_vm_page_mkwrite,
286}; 286};
diff --git a/include/linux/agp_backend.h b/include/linux/agp_backend.h
index 880130f7311..9101ed64f80 100644
--- a/include/linux/agp_backend.h
+++ b/include/linux/agp_backend.h
@@ -53,7 +53,7 @@ struct agp_kern_info {
53 int current_memory; 53 int current_memory;
54 bool cant_use_aperture; 54 bool cant_use_aperture;
55 unsigned long page_mask; 55 unsigned long page_mask;
56 struct vm_operations_struct *vm_ops; 56 const struct vm_operations_struct *vm_ops;
57}; 57};
58 58
59/* 59/*
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index 16937995abd..41a59afc70f 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -163,7 +163,7 @@ static inline struct hugetlbfs_sb_info *HUGETLBFS_SB(struct super_block *sb)
163} 163}
164 164
165extern const struct file_operations hugetlbfs_file_operations; 165extern const struct file_operations hugetlbfs_file_operations;
166extern struct vm_operations_struct hugetlb_vm_ops; 166extern const struct vm_operations_struct hugetlb_vm_ops;
167struct file *hugetlb_file_setup(const char *name, size_t size, int acct, 167struct file *hugetlb_file_setup(const char *name, size_t size, int acct,
168 struct user_struct **user, int creat_flags); 168 struct user_struct **user, int creat_flags);
169int hugetlb_get_quota(struct address_space *mapping, long delta); 169int hugetlb_get_quota(struct address_space *mapping, long delta);
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 21d6aa45206..84a524afb3d 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -171,7 +171,7 @@ struct vm_area_struct {
171 struct anon_vma *anon_vma; /* Serialized by page_table_lock */ 171 struct anon_vma *anon_vma; /* Serialized by page_table_lock */
172 172
173 /* Function pointers to deal with this struct. */ 173 /* Function pointers to deal with this struct. */
174 struct vm_operations_struct * vm_ops; 174 const struct vm_operations_struct *vm_ops;
175 175
176 /* Information about our backing store: */ 176 /* Information about our backing store: */
177 unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE 177 unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE
diff --git a/include/linux/ramfs.h b/include/linux/ramfs.h
index 37aaf2b3986..4e768dda87b 100644
--- a/include/linux/ramfs.h
+++ b/include/linux/ramfs.h
@@ -17,7 +17,7 @@ extern int ramfs_nommu_mmap(struct file *file, struct vm_area_struct *vma);
17#endif 17#endif
18 18
19extern const struct file_operations ramfs_file_operations; 19extern const struct file_operations ramfs_file_operations;
20extern struct vm_operations_struct generic_file_vm_ops; 20extern const struct vm_operations_struct generic_file_vm_ops;
21extern int __init init_rootfs(void); 21extern int __init init_rootfs(void);
22 22
23#endif 23#endif
diff --git a/ipc/shm.c b/ipc/shm.c
index 9eb1488b543..464694e0aa4 100644
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -55,7 +55,7 @@ struct shm_file_data {
55#define shm_file_data(file) (*((struct shm_file_data **)&(file)->private_data)) 55#define shm_file_data(file) (*((struct shm_file_data **)&(file)->private_data))
56 56
57static const struct file_operations shm_file_operations; 57static const struct file_operations shm_file_operations;
58static struct vm_operations_struct shm_vm_ops; 58static const struct vm_operations_struct shm_vm_ops;
59 59
60#define shm_ids(ns) ((ns)->ids[IPC_SHM_IDS]) 60#define shm_ids(ns) ((ns)->ids[IPC_SHM_IDS])
61 61
@@ -312,7 +312,7 @@ static const struct file_operations shm_file_operations = {
312 .get_unmapped_area = shm_get_unmapped_area, 312 .get_unmapped_area = shm_get_unmapped_area,
313}; 313};
314 314
315static struct vm_operations_struct shm_vm_ops = { 315static const struct vm_operations_struct shm_vm_ops = {
316 .open = shm_open, /* callback for a new vm-area open */ 316 .open = shm_open, /* callback for a new vm-area open */
317 .close = shm_close, /* callback for when the vm-area is released */ 317 .close = shm_close, /* callback for when the vm-area is released */
318 .fault = shm_fault, 318 .fault = shm_fault,
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index 76ac4db405e..0f86feb6db0 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -2253,7 +2253,7 @@ static void perf_mmap_close(struct vm_area_struct *vma)
2253 } 2253 }
2254} 2254}
2255 2255
2256static struct vm_operations_struct perf_mmap_vmops = { 2256static const struct vm_operations_struct perf_mmap_vmops = {
2257 .open = perf_mmap_open, 2257 .open = perf_mmap_open,
2258 .close = perf_mmap_close, 2258 .close = perf_mmap_close,
2259 .fault = perf_mmap_fault, 2259 .fault = perf_mmap_fault,
diff --git a/kernel/relay.c b/kernel/relay.c
index bc188549788..760c26209a3 100644
--- a/kernel/relay.c
+++ b/kernel/relay.c
@@ -60,7 +60,7 @@ static int relay_buf_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
60/* 60/*
61 * vm_ops for relay file mappings. 61 * vm_ops for relay file mappings.
62 */ 62 */
63static struct vm_operations_struct relay_file_mmap_ops = { 63static const struct vm_operations_struct relay_file_mmap_ops = {
64 .fault = relay_buf_fault, 64 .fault = relay_buf_fault,
65 .close = relay_file_mmap_close, 65 .close = relay_file_mmap_close,
66}; 66};
diff --git a/mm/filemap.c b/mm/filemap.c
index 6c84e598b4a..ef169f37156 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -1611,7 +1611,7 @@ page_not_uptodate:
1611} 1611}
1612EXPORT_SYMBOL(filemap_fault); 1612EXPORT_SYMBOL(filemap_fault);
1613 1613
1614struct vm_operations_struct generic_file_vm_ops = { 1614const struct vm_operations_struct generic_file_vm_ops = {
1615 .fault = filemap_fault, 1615 .fault = filemap_fault,
1616}; 1616};
1617 1617
diff --git a/mm/filemap_xip.c b/mm/filemap_xip.c
index 427dfe3ce78..1888b2d71bb 100644
--- a/mm/filemap_xip.c
+++ b/mm/filemap_xip.c
@@ -296,7 +296,7 @@ out:
296 } 296 }
297} 297}
298 298
299static struct vm_operations_struct xip_file_vm_ops = { 299static const struct vm_operations_struct xip_file_vm_ops = {
300 .fault = xip_file_fault, 300 .fault = xip_file_fault,
301}; 301};
302 302
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 6f048fcc749..5d7601b0287 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -1721,7 +1721,7 @@ static int hugetlb_vm_op_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
1721 return 0; 1721 return 0;
1722} 1722}
1723 1723
1724struct vm_operations_struct hugetlb_vm_ops = { 1724const struct vm_operations_struct hugetlb_vm_ops = {
1725 .fault = hugetlb_vm_op_fault, 1725 .fault = hugetlb_vm_op_fault,
1726 .open = hugetlb_vm_op_open, 1726 .open = hugetlb_vm_op_open,
1727 .close = hugetlb_vm_op_close, 1727 .close = hugetlb_vm_op_close,
diff --git a/mm/mmap.c b/mm/mmap.c
index 21d4029a07b..73f5e4b6401 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2282,7 +2282,7 @@ static void special_mapping_close(struct vm_area_struct *vma)
2282{ 2282{
2283} 2283}
2284 2284
2285static struct vm_operations_struct special_mapping_vmops = { 2285static const struct vm_operations_struct special_mapping_vmops = {
2286 .close = special_mapping_close, 2286 .close = special_mapping_close,
2287 .fault = special_mapping_fault, 2287 .fault = special_mapping_fault,
2288}; 2288};
diff --git a/mm/nommu.c b/mm/nommu.c
index c73aa4753d7..5189b5aed8c 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -79,7 +79,7 @@ static struct kmem_cache *vm_region_jar;
79struct rb_root nommu_region_tree = RB_ROOT; 79struct rb_root nommu_region_tree = RB_ROOT;
80DECLARE_RWSEM(nommu_region_sem); 80DECLARE_RWSEM(nommu_region_sem);
81 81
82struct vm_operations_struct generic_file_vm_ops = { 82const struct vm_operations_struct generic_file_vm_ops = {
83}; 83};
84 84
85/* 85/*
diff --git a/mm/shmem.c b/mm/shmem.c
index ccf446a9faa..356dd99566e 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -218,7 +218,7 @@ static const struct file_operations shmem_file_operations;
218static const struct inode_operations shmem_inode_operations; 218static const struct inode_operations shmem_inode_operations;
219static const struct inode_operations shmem_dir_inode_operations; 219static const struct inode_operations shmem_dir_inode_operations;
220static const struct inode_operations shmem_special_inode_operations; 220static const struct inode_operations shmem_special_inode_operations;
221static struct vm_operations_struct shmem_vm_ops; 221static const struct vm_operations_struct shmem_vm_ops;
222 222
223static struct backing_dev_info shmem_backing_dev_info __read_mostly = { 223static struct backing_dev_info shmem_backing_dev_info __read_mostly = {
224 .ra_pages = 0, /* No readahead */ 224 .ra_pages = 0, /* No readahead */
@@ -2498,7 +2498,7 @@ static const struct super_operations shmem_ops = {
2498 .put_super = shmem_put_super, 2498 .put_super = shmem_put_super,
2499}; 2499};
2500 2500
2501static struct vm_operations_struct shmem_vm_ops = { 2501static const struct vm_operations_struct shmem_vm_ops = {
2502 .fault = shmem_fault, 2502 .fault = shmem_fault,
2503#ifdef CONFIG_NUMA 2503#ifdef CONFIG_NUMA
2504 .set_policy = shmem_set_policy, 2504 .set_policy = shmem_set_policy,
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index d3d52c66cdc..103d5611b81 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -2084,7 +2084,7 @@ static void packet_mm_close(struct vm_area_struct *vma)
2084 atomic_dec(&pkt_sk(sk)->mapped); 2084 atomic_dec(&pkt_sk(sk)->mapped);
2085} 2085}
2086 2086
2087static struct vm_operations_struct packet_mmap_ops = { 2087static const struct vm_operations_struct packet_mmap_ops = {
2088 .open = packet_mm_open, 2088 .open = packet_mm_open,
2089 .close = packet_mm_close, 2089 .close = packet_mm_close,
2090}; 2090};
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
index 561d6d95a2d..ab73edf2c89 100644
--- a/sound/core/pcm_native.c
+++ b/sound/core/pcm_native.c
@@ -2985,7 +2985,7 @@ static int snd_pcm_mmap_status_fault(struct vm_area_struct *area,
2985 return 0; 2985 return 0;
2986} 2986}
2987 2987
2988static struct vm_operations_struct snd_pcm_vm_ops_status = 2988static const struct vm_operations_struct snd_pcm_vm_ops_status =
2989{ 2989{
2990 .fault = snd_pcm_mmap_status_fault, 2990 .fault = snd_pcm_mmap_status_fault,
2991}; 2991};
@@ -3024,7 +3024,7 @@ static int snd_pcm_mmap_control_fault(struct vm_area_struct *area,
3024 return 0; 3024 return 0;
3025} 3025}
3026 3026
3027static struct vm_operations_struct snd_pcm_vm_ops_control = 3027static const struct vm_operations_struct snd_pcm_vm_ops_control =
3028{ 3028{
3029 .fault = snd_pcm_mmap_control_fault, 3029 .fault = snd_pcm_mmap_control_fault,
3030}; 3030};
@@ -3094,7 +3094,7 @@ static int snd_pcm_mmap_data_fault(struct vm_area_struct *area,
3094 return 0; 3094 return 0;
3095} 3095}
3096 3096
3097static struct vm_operations_struct snd_pcm_vm_ops_data = 3097static const struct vm_operations_struct snd_pcm_vm_ops_data =
3098{ 3098{
3099 .open = snd_pcm_mmap_data_open, 3099 .open = snd_pcm_mmap_data_open,
3100 .close = snd_pcm_mmap_data_close, 3100 .close = snd_pcm_mmap_data_close,
@@ -3118,7 +3118,7 @@ static int snd_pcm_default_mmap(struct snd_pcm_substream *substream,
3118 * mmap the DMA buffer on I/O memory area 3118 * mmap the DMA buffer on I/O memory area
3119 */ 3119 */
3120#if SNDRV_PCM_INFO_MMAP_IOMEM 3120#if SNDRV_PCM_INFO_MMAP_IOMEM
3121static struct vm_operations_struct snd_pcm_vm_ops_data_mmio = 3121static const struct vm_operations_struct snd_pcm_vm_ops_data_mmio =
3122{ 3122{
3123 .open = snd_pcm_mmap_data_open, 3123 .open = snd_pcm_mmap_data_open,
3124 .close = snd_pcm_mmap_data_close, 3124 .close = snd_pcm_mmap_data_close,
diff --git a/sound/usb/usx2y/us122l.c b/sound/usb/usx2y/us122l.c
index fd44946ce4b..99f33766cd5 100644
--- a/sound/usb/usx2y/us122l.c
+++ b/sound/usb/usx2y/us122l.c
@@ -154,7 +154,7 @@ static void usb_stream_hwdep_vm_close(struct vm_area_struct *area)
154 snd_printdd(KERN_DEBUG "%i\n", atomic_read(&us122l->mmap_count)); 154 snd_printdd(KERN_DEBUG "%i\n", atomic_read(&us122l->mmap_count));
155} 155}
156 156
157static struct vm_operations_struct usb_stream_hwdep_vm_ops = { 157static const struct vm_operations_struct usb_stream_hwdep_vm_ops = {
158 .open = usb_stream_hwdep_vm_open, 158 .open = usb_stream_hwdep_vm_open,
159 .fault = usb_stream_hwdep_vm_fault, 159 .fault = usb_stream_hwdep_vm_fault,
160 .close = usb_stream_hwdep_vm_close, 160 .close = usb_stream_hwdep_vm_close,
diff --git a/sound/usb/usx2y/usX2Yhwdep.c b/sound/usb/usx2y/usX2Yhwdep.c
index f3d8f71265d..52e04b2f35d 100644
--- a/sound/usb/usx2y/usX2Yhwdep.c
+++ b/sound/usb/usx2y/usX2Yhwdep.c
@@ -53,7 +53,7 @@ static int snd_us428ctls_vm_fault(struct vm_area_struct *area,
53 return 0; 53 return 0;
54} 54}
55 55
56static struct vm_operations_struct us428ctls_vm_ops = { 56static const struct vm_operations_struct us428ctls_vm_ops = {
57 .fault = snd_us428ctls_vm_fault, 57 .fault = snd_us428ctls_vm_fault,
58}; 58};
59 59
diff --git a/sound/usb/usx2y/usx2yhwdeppcm.c b/sound/usb/usx2y/usx2yhwdeppcm.c
index 117946f2deb..4b2304c2e02 100644
--- a/sound/usb/usx2y/usx2yhwdeppcm.c
+++ b/sound/usb/usx2y/usx2yhwdeppcm.c
@@ -697,7 +697,7 @@ static int snd_usX2Y_hwdep_pcm_vm_fault(struct vm_area_struct *area,
697} 697}
698 698
699 699
700static struct vm_operations_struct snd_usX2Y_hwdep_pcm_vm_ops = { 700static const struct vm_operations_struct snd_usX2Y_hwdep_pcm_vm_ops = {
701 .open = snd_usX2Y_hwdep_pcm_vm_open, 701 .open = snd_usX2Y_hwdep_pcm_vm_open,
702 .close = snd_usX2Y_hwdep_pcm_vm_close, 702 .close = snd_usX2Y_hwdep_pcm_vm_close,
703 .fault = snd_usX2Y_hwdep_pcm_vm_fault, 703 .fault = snd_usX2Y_hwdep_pcm_vm_fault,
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 034a798b043..b5e7e3f1183 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1713,7 +1713,7 @@ static int kvm_vcpu_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
1713 return 0; 1713 return 0;
1714} 1714}
1715 1715
1716static struct vm_operations_struct kvm_vcpu_vm_ops = { 1716static const struct vm_operations_struct kvm_vcpu_vm_ops = {
1717 .fault = kvm_vcpu_fault, 1717 .fault = kvm_vcpu_fault,
1718}; 1718};
1719 1719
@@ -2317,7 +2317,7 @@ static int kvm_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
2317 return 0; 2317 return 0;
2318} 2318}
2319 2319
2320static struct vm_operations_struct kvm_vm_vm_ops = { 2320static const struct vm_operations_struct kvm_vm_vm_ops = {
2321 .fault = kvm_vm_fault, 2321 .fault = kvm_vm_fault,
2322}; 2322};
2323 2323