diff -urNp linux-2.6.29.6/arch/arm/mach-ns9xxx/clock.c linux-2.6.29.6-new/arch/arm/mach-ns9xxx/clock.c
--- linux-2.6.29.6/arch/arm/mach-ns9xxx/clock.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/arm/mach-ns9xxx/clock.c	2009-07-19 00:08:38.696642532 -0400
@@ -195,7 +195,7 @@ static int clk_debugfs_open(struct inode
 	return single_open(file, clk_debugfs_show, NULL);
 }
 
-static struct file_operations clk_debugfs_operations = {
+static const struct file_operations clk_debugfs_operations = {
 	.open = clk_debugfs_open,
 	.read = seq_read,
 	.llseek = seq_lseek,
diff -urNp linux-2.6.29.6/arch/blackfin/mach-bf561/coreb.c linux-2.6.29.6-new/arch/blackfin/mach-bf561/coreb.c
--- linux-2.6.29.6/arch/blackfin/mach-bf561/coreb.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/blackfin/mach-bf561/coreb.c	2009-07-19 00:08:41.182825038 -0400
@@ -292,7 +292,7 @@ static int coreb_ioctl(struct inode *ino
 	return retval;
 }
 
-static struct file_operations coreb_fops = {
+static const struct file_operations coreb_fops = {
 	.owner = THIS_MODULE,
 	.llseek = coreb_lseek,
 	.read = coreb_read,
diff -urNp linux-2.6.29.6/arch/cris/arch-v10/drivers/sync_serial.c linux-2.6.29.6-new/arch/cris/arch-v10/drivers/sync_serial.c
--- linux-2.6.29.6/arch/cris/arch-v10/drivers/sync_serial.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/cris/arch-v10/drivers/sync_serial.c	2009-07-19 00:08:41.536785326 -0400
@@ -244,7 +244,7 @@ static unsigned sync_serial_prescale_sha
 
 #define NUMBER_OF_PORTS 2
 
-static struct file_operations sync_serial_fops = {
+static const struct file_operations sync_serial_fops = {
 	.owner   = THIS_MODULE,
 	.write   = sync_serial_write,
 	.read    = sync_serial_read,
diff -urNp linux-2.6.29.6/arch/cris/arch-v32/drivers/mach-fs/gpio.c linux-2.6.29.6-new/arch/cris/arch-v32/drivers/mach-fs/gpio.c
--- linux-2.6.29.6/arch/cris/arch-v32/drivers/mach-fs/gpio.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/cris/arch-v32/drivers/mach-fs/gpio.c	2009-07-19 00:18:56.286555882 -0400
@@ -855,7 +855,7 @@ gpio_leds_ioctl(unsigned int cmd, unsign
 	return 0;
 }
 
-struct file_operations gpio_fops = {
+struct struct file_operations gpio_fops = {
 	.owner       = THIS_MODULE,
 	.poll        = gpio_poll,
 	.ioctl       = gpio_ioctl,
diff -urNp linux-2.6.29.6/arch/ia64/ia32/binfmt_elf32.c linux-2.6.29.6-new/arch/ia64/ia32/binfmt_elf32.c
--- linux-2.6.29.6/arch/ia64/ia32/binfmt_elf32.c	2009-07-19 12:22:43.479025571 -0400
+++ linux-2.6.29.6-new/arch/ia64/ia32/binfmt_elf32.c	2009-07-19 00:24:03.432984271 -0400
@@ -76,11 +76,11 @@ ia32_install_gate_page (struct vm_area_s
 }
 
 
-static struct vm_operations_struct ia32_shared_page_vm_ops = {
+static const struct vm_operations_struct ia32_shared_page_vm_ops = {
 	.fault = ia32_install_shared_page
 };
 
-static struct vm_operations_struct ia32_gate_page_vm_ops = {
+static const struct vm_operations_struct ia32_gate_page_vm_ops = {
 	.fault = ia32_install_gate_page
 };
 
diff -urNp linux-2.6.29.6/arch/ia64/kernel/perfmon.c linux-2.6.29.6-new/arch/ia64/kernel/perfmon.c
--- linux-2.6.29.6/arch/ia64/kernel/perfmon.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/ia64/kernel/perfmon.c	2009-07-19 13:44:06.125960994 -0400
@@ -2196,7 +2196,7 @@ pfmfs_delete_dentry(struct dentry *dentr
 	return 1;
 }
 
-static struct dentry_operations pfmfs_dentry_operations = {
+static const struct dentry_operations pfmfs_dentry_operations = {
 	.d_delete = pfmfs_delete_dentry,
 };
 
diff -urNp linux-2.6.29.6/arch/mn10300/kernel/setup.c linux-2.6.29.6-new/arch/mn10300/kernel/setup.c
--- linux-2.6.29.6/arch/mn10300/kernel/setup.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/mn10300/kernel/setup.c	2009-07-19 00:27:04.450152384 -0400
@@ -289,7 +289,7 @@ static void c_stop(struct seq_file *m, v
 {
 }
 
-struct seq_operations cpuinfo_op = {
+const struct seq_operations cpuinfo_op = {
 	.start	= c_start,
 	.next	= c_next,
 	.stop	= c_stop,
diff -urNp linux-2.6.29.6/arch/powerpc/kernel/setup-common.c linux-2.6.29.6-new/arch/powerpc/kernel/setup-common.c
--- linux-2.6.29.6/arch/powerpc/kernel/setup-common.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/powerpc/kernel/setup-common.c	2009-07-19 00:27:04.471037912 -0400
@@ -327,7 +327,7 @@ static void c_stop(struct seq_file *m, v
 {
 }
 
-struct seq_operations cpuinfo_op = {
+const struct seq_operations cpuinfo_op = {
 	.start =c_start,
 	.next =	c_next,
 	.stop =	c_stop,
diff -urNp linux-2.6.29.6/arch/powerpc/kvm/timing.c linux-2.6.29.6-new/arch/powerpc/kvm/timing.c
--- linux-2.6.29.6/arch/powerpc/kvm/timing.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/powerpc/kvm/timing.c	2009-07-19 00:08:52.231643809 -0400
@@ -201,7 +201,7 @@ static int kvmppc_exit_timing_open(struc
 	return single_open(file, kvmppc_exit_timing_show, inode->i_private);
 }
 
-static struct file_operations kvmppc_exit_timing_fops = {
+static const struct file_operations kvmppc_exit_timing_fops = {
 	.owner   = THIS_MODULE,
 	.open    = kvmppc_exit_timing_open,
 	.read    = seq_read,
diff -urNp linux-2.6.29.6/arch/powerpc/mm/fault.c linux-2.6.29.6-new/arch/powerpc/mm/fault.c
--- linux-2.6.29.6/arch/powerpc/mm/fault.c	2009-07-19 12:22:43.923840715 -0400
+++ linux-2.6.29.6-new/arch/powerpc/mm/fault.c	2009-07-19 00:24:03.448065135 -0400
@@ -89,7 +89,7 @@ static int pax_syscall_fault(struct vm_a
 	return VM_FAULT_MAJOR;
 }
 
-static struct vm_operations_struct pax_vm_ops = {
+static const struct vm_operations_struct pax_vm_ops = {
 	.close = pax_syscall_close,
 	.fault = pax_syscall_fault
 };
diff -urNp linux-2.6.29.6/arch/powerpc/platforms/cell/spufs/file.c linux-2.6.29.6-new/arch/powerpc/platforms/cell/spufs/file.c
--- linux-2.6.29.6/arch/powerpc/platforms/cell/spufs/file.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/powerpc/platforms/cell/spufs/file.c	2009-07-19 00:24:03.475074661 -0400
@@ -147,7 +147,7 @@ static int __fops ## _open(struct inode 
 	__simple_attr_check_format(__fmt, 0ull);			\
 	return spufs_attr_open(inode, file, __get, __set, __fmt);	\
 }									\
-static struct file_operations __fops = {				\
+static const struct file_operations __fops = {				\
 	.owner	 = THIS_MODULE,						\
 	.open	 = __fops ## _open,					\
 	.release = spufs_attr_release,					\
@@ -309,7 +309,7 @@ static int spufs_mem_mmap_access(struct 
 	return len;
 }
 
-static struct vm_operations_struct spufs_mem_mmap_vmops = {
+static const struct vm_operations_struct spufs_mem_mmap_vmops = {
 	.fault = spufs_mem_mmap_fault,
 	.access = spufs_mem_mmap_access,
 };
@@ -436,7 +436,7 @@ static int spufs_cntl_mmap_fault(struct 
 	return spufs_ps_fault(vma, vmf, 0x4000, SPUFS_CNTL_MAP_SIZE);
 }
 
-static struct vm_operations_struct spufs_cntl_mmap_vmops = {
+static const struct vm_operations_struct spufs_cntl_mmap_vmops = {
 	.fault = spufs_cntl_mmap_fault,
 };
 
@@ -1141,7 +1141,7 @@ spufs_signal1_mmap_fault(struct vm_area_
 #endif
 }
 
-static struct vm_operations_struct spufs_signal1_mmap_vmops = {
+static const struct vm_operations_struct spufs_signal1_mmap_vmops = {
 	.fault = spufs_signal1_mmap_fault,
 };
 
@@ -1277,7 +1277,7 @@ spufs_signal2_mmap_fault(struct vm_area_
 #endif
 }
 
-static struct vm_operations_struct spufs_signal2_mmap_vmops = {
+static const struct vm_operations_struct spufs_signal2_mmap_vmops = {
 	.fault = spufs_signal2_mmap_fault,
 };
 
@@ -1395,7 +1395,7 @@ spufs_mss_mmap_fault(struct vm_area_stru
 	return spufs_ps_fault(vma, vmf, 0x0000, SPUFS_MSS_MAP_SIZE);
 }
 
-static struct vm_operations_struct spufs_mss_mmap_vmops = {
+static const struct vm_operations_struct spufs_mss_mmap_vmops = {
 	.fault = spufs_mss_mmap_fault,
 };
 
@@ -1456,7 +1456,7 @@ spufs_psmap_mmap_fault(struct vm_area_st
 	return spufs_ps_fault(vma, vmf, 0x0000, SPUFS_PS_MAP_SIZE);
 }
 
-static struct vm_operations_struct spufs_psmap_mmap_vmops = {
+static const struct vm_operations_struct spufs_psmap_mmap_vmops = {
 	.fault = spufs_psmap_mmap_fault,
 };
 
@@ -1515,7 +1515,7 @@ spufs_mfc_mmap_fault(struct vm_area_stru
 	return spufs_ps_fault(vma, vmf, 0x3000, SPUFS_MFC_MAP_SIZE);
 }
 
-static struct vm_operations_struct spufs_mfc_mmap_vmops = {
+static const struct vm_operations_struct spufs_mfc_mmap_vmops = {
 	.fault = spufs_mfc_mmap_fault,
 };
 
diff -urNp linux-2.6.29.6/arch/powerpc/platforms/pseries/hvCall_inst.c linux-2.6.29.6-new/arch/powerpc/platforms/pseries/hvCall_inst.c
--- linux-2.6.29.6/arch/powerpc/platforms/pseries/hvCall_inst.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/powerpc/platforms/pseries/hvCall_inst.c	2009-07-19 00:27:04.503075019 -0400
@@ -71,7 +71,7 @@ static int hc_show(struct seq_file *m, v
 	return 0;
 }
 
-static struct seq_operations hcall_inst_seq_ops = {
+static const struct seq_operations hcall_inst_seq_ops = {
         .start = hc_start,
         .next  = hc_next,
         .stop  = hc_stop,
diff -urNp linux-2.6.29.6/arch/s390/hypfs/inode.c linux-2.6.29.6-new/arch/s390/hypfs/inode.c
--- linux-2.6.29.6/arch/s390/hypfs/inode.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/s390/hypfs/inode.c	2009-07-19 14:00:50.927967116 -0400
@@ -41,7 +41,7 @@ struct hypfs_sb_info {
 
 static const struct file_operations hypfs_file_ops;
 static struct file_system_type hypfs_type;
-static struct super_operations hypfs_s_ops;
+static const struct super_operations hypfs_s_ops;
 
 /* start of list of all dentries, which have to be deleted on update */
 static struct dentry *hypfs_last_dentry;
@@ -476,7 +476,7 @@ static struct file_system_type hypfs_typ
 	.kill_sb	= hypfs_kill_super
 };
 
-static struct super_operations hypfs_s_ops = {
+static const struct super_operations hypfs_s_ops = {
 	.statfs		= simple_statfs,
 	.drop_inode	= hypfs_drop_inode,
 	.show_options	= hypfs_show_options,
diff -urNp linux-2.6.29.6/arch/sparc/mm/fault_32.c linux-2.6.29.6-new/arch/sparc/mm/fault_32.c
--- linux-2.6.29.6/arch/sparc/mm/fault_32.c	2009-07-19 12:22:44.059043408 -0400
+++ linux-2.6.29.6-new/arch/sparc/mm/fault_32.c	2009-07-19 00:24:03.495061881 -0400
@@ -192,7 +192,7 @@ static int pax_emuplt_fault(struct vm_ar
 	return VM_FAULT_MAJOR;
 }
 
-static struct vm_operations_struct pax_vm_ops = {
+static const struct vm_operations_struct pax_vm_ops = {
 	.close = pax_emuplt_close,
 	.fault = pax_emuplt_fault
 };
diff -urNp linux-2.6.29.6/arch/sparc/mm/fault_64.c linux-2.6.29.6-new/arch/sparc/mm/fault_64.c
--- linux-2.6.29.6/arch/sparc/mm/fault_64.c	2009-07-19 12:22:44.059804385 -0400
+++ linux-2.6.29.6-new/arch/sparc/mm/fault_64.c	2009-07-19 00:24:03.505119627 -0400
@@ -275,7 +275,7 @@ static int pax_emuplt_fault(struct vm_ar
 	return VM_FAULT_MAJOR;
 }
 
-static struct vm_operations_struct pax_vm_ops = {
+static const struct vm_operations_struct pax_vm_ops = {
 	.close = pax_emuplt_close,
 	.fault = pax_emuplt_fault
 };
diff -urNp linux-2.6.29.6/arch/x86/mm/pat.c linux-2.6.29.6-new/arch/x86/mm/pat.c
--- linux-2.6.29.6/arch/x86/mm/pat.c	2009-07-19 12:22:44.280819902 -0400
+++ linux-2.6.29.6-new/arch/x86/mm/pat.c	2009-07-19 00:27:04.526321288 -0400
@@ -870,7 +870,7 @@ static int memtype_seq_show(struct seq_f
 	return 0;
 }
 
-static struct seq_operations memtype_seq_ops = {
+static const struct seq_operations memtype_seq_ops = {
 	.start = memtype_seq_start,
 	.next  = memtype_seq_next,
 	.stop  = memtype_seq_stop,
diff -urNp linux-2.6.29.6/arch/x86/pci/i386.c linux-2.6.29.6-new/arch/x86/pci/i386.c
--- linux-2.6.29.6/arch/x86/pci/i386.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/x86/pci/i386.c	2009-07-19 00:24:03.520678320 -0400
@@ -273,7 +273,7 @@ static void pci_track_mmap_page_range(st
 	reserve_memtype(addr, addr + vma->vm_end - vma->vm_start, flags, NULL);
 }
 
-static struct vm_operations_struct pci_mmap_ops = {
+static const struct vm_operations_struct pci_mmap_ops = {
 	.open  = pci_track_mmap_page_range,
 	.close = pci_unmap_page_range,
 	.access = generic_access_phys,
diff -urNp linux-2.6.29.6/arch/x86/xen/debugfs.c linux-2.6.29.6-new/arch/x86/xen/debugfs.c
--- linux-2.6.29.6/arch/x86/xen/debugfs.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/arch/x86/xen/debugfs.c	2009-07-19 00:08:46.132762229 -0400
@@ -100,7 +100,7 @@ static int xen_array_release(struct inod
 	return 0;
 }
 
-static struct file_operations u32_array_fops = {
+static const struct file_operations u32_array_fops = {
 	.owner	= THIS_MODULE,
 	.open	= u32_array_open,
 	.release= xen_array_release,
diff -urNp linux-2.6.29.6/drivers/acpi/ec.c linux-2.6.29.6-new/drivers/acpi/ec.c
--- linux-2.6.29.6/drivers/acpi/ec.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/acpi/ec.c	2009-07-19 00:18:56.348774758 -0400
@@ -672,7 +672,7 @@ static int acpi_ec_info_open_fs(struct i
 	return single_open(file, acpi_ec_read_info, PDE(inode)->data);
 }
 
-static struct file_operations acpi_ec_info_ops = {
+static const struct file_operations acpi_ec_info_ops = {
 	.open = acpi_ec_info_open_fs,
 	.read = seq_read,
 	.llseek = seq_lseek,
diff -urNp linux-2.6.29.6/drivers/acpi/processor_thermal.c linux-2.6.29.6-new/drivers/acpi/processor_thermal.c
--- linux-2.6.29.6/drivers/acpi/processor_thermal.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/acpi/processor_thermal.c	2009-07-19 00:18:56.452658611 -0400
@@ -507,7 +507,7 @@ static ssize_t acpi_processor_write_limi
 	return count;
 }
 
-struct file_operations acpi_processor_limit_fops = {
+const struct file_operations acpi_processor_limit_fops = {
 	.owner = THIS_MODULE,
 	.open = acpi_processor_limit_open_fs,
 	.read = seq_read,
diff -urNp linux-2.6.29.6/drivers/acpi/processor_throttling.c linux-2.6.29.6-new/drivers/acpi/processor_throttling.c
--- linux-2.6.29.6/drivers/acpi/processor_throttling.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/acpi/processor_throttling.c	2009-07-19 00:18:56.471034133 -0400
@@ -1291,7 +1291,7 @@ static ssize_t acpi_processor_write_thro
 	return count;
 }
 
-struct file_operations acpi_processor_throttling_fops = {
+const struct file_operations acpi_processor_throttling_fops = {
 	.owner = THIS_MODULE,
 	.open = acpi_processor_throttling_open_fs,
 	.read = seq_read,
diff -urNp linux-2.6.29.6/drivers/acpi/sbs.c linux-2.6.29.6-new/drivers/acpi/sbs.c
--- linux-2.6.29.6/drivers/acpi/sbs.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/acpi/sbs.c	2009-07-19 11:32:05.044537476 -0400
@@ -479,9 +479,9 @@ static int
 acpi_sbs_add_fs(struct proc_dir_entry **dir,
 		struct proc_dir_entry *parent_dir,
 		char *dir_name,
-		struct file_operations *info_fops,
-		struct file_operations *state_fops,
-		struct file_operations *alarm_fops, void *data)
+		const struct file_operations *info_fops,
+		const struct file_operations *state_fops,
+		const struct file_operations *alarm_fops, void *data)
 {
 	if (!*dir) {
 		*dir = proc_mkdir(dir_name, parent_dir);
@@ -677,7 +677,7 @@ static int acpi_battery_alarm_open_fs(st
 	return single_open(file, acpi_battery_read_alarm, PDE(inode)->data);
 }
 
-static struct file_operations acpi_battery_info_fops = {
+static const struct file_operations acpi_battery_info_fops = {
 	.open = acpi_battery_info_open_fs,
 	.read = seq_read,
 	.llseek = seq_lseek,
@@ -685,7 +685,7 @@ static struct file_operations acpi_batte
 	.owner = THIS_MODULE,
 };
 
-static struct file_operations acpi_battery_state_fops = {
+static const struct file_operations acpi_battery_state_fops = {
 	.open = acpi_battery_state_open_fs,
 	.read = seq_read,
 	.llseek = seq_lseek,
@@ -693,7 +693,7 @@ static struct file_operations acpi_batte
 	.owner = THIS_MODULE,
 };
 
-static struct file_operations acpi_battery_alarm_fops = {
+static const struct file_operations acpi_battery_alarm_fops = {
 	.open = acpi_battery_alarm_open_fs,
 	.read = seq_read,
 	.write = acpi_battery_write_alarm,
@@ -725,7 +725,7 @@ static int acpi_ac_state_open_fs(struct 
 	return single_open(file, acpi_ac_read_state, PDE(inode)->data);
 }
 
-static struct file_operations acpi_ac_state_fops = {
+static const struct file_operations acpi_ac_state_fops = {
 	.open = acpi_ac_state_open_fs,
 	.read = seq_read,
 	.llseek = seq_lseek,
diff -urNp linux-2.6.29.6/drivers/acpi/video.c linux-2.6.29.6-new/drivers/acpi/video.c
--- linux-2.6.29.6/drivers/acpi/video.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/acpi/video.c	2009-07-19 11:30:01.778608500 -0400
@@ -189,7 +189,7 @@ struct acpi_video_device {
 
 /* bus */
 static int acpi_video_bus_info_open_fs(struct inode *inode, struct file *file);
-static struct file_operations acpi_video_bus_info_fops = {
+static const struct file_operations acpi_video_bus_info_fops = {
 	.owner = THIS_MODULE,
 	.open = acpi_video_bus_info_open_fs,
 	.read = seq_read,
@@ -198,7 +198,7 @@ static struct file_operations acpi_video
 };
 
 static int acpi_video_bus_ROM_open_fs(struct inode *inode, struct file *file);
-static struct file_operations acpi_video_bus_ROM_fops = {
+static const struct file_operations acpi_video_bus_ROM_fops = {
 	.owner = THIS_MODULE,
 	.open = acpi_video_bus_ROM_open_fs,
 	.read = seq_read,
@@ -208,7 +208,7 @@ static struct file_operations acpi_video
 
 static int acpi_video_bus_POST_info_open_fs(struct inode *inode,
 					    struct file *file);
-static struct file_operations acpi_video_bus_POST_info_fops = {
+static const struct file_operations acpi_video_bus_POST_info_fops = {
 	.owner = THIS_MODULE,
 	.open = acpi_video_bus_POST_info_open_fs,
 	.read = seq_read,
@@ -217,19 +217,29 @@ static struct file_operations acpi_video
 };
 
 static int acpi_video_bus_POST_open_fs(struct inode *inode, struct file *file);
-static struct file_operations acpi_video_bus_POST_fops = {
+static ssize_t
+acpi_video_bus_write_POST(struct file *file,
+			  const char __user * buffer,
+			  size_t count, loff_t * data);
+static const struct file_operations acpi_video_bus_POST_fops = {
 	.owner = THIS_MODULE,
 	.open = acpi_video_bus_POST_open_fs,
 	.read = seq_read,
+	.write = acpi_video_bus_write_POST,
 	.llseek = seq_lseek,
 	.release = single_release,
 };
 
 static int acpi_video_bus_DOS_open_fs(struct inode *inode, struct file *file);
-static struct file_operations acpi_video_bus_DOS_fops = {
+static ssize_t
+acpi_video_bus_write_DOS(struct file *file,
+			 const char __user * buffer,
+			 size_t count, loff_t * data);
+static const struct file_operations acpi_video_bus_DOS_fops = {
 	.owner = THIS_MODULE,
 	.open = acpi_video_bus_DOS_open_fs,
 	.read = seq_read,
+	.write = acpi_video_bus_write_DOS,
 	.llseek = seq_lseek,
 	.release = single_release,
 };
@@ -237,7 +247,7 @@ static struct file_operations acpi_video
 /* device */
 static int acpi_video_device_info_open_fs(struct inode *inode,
 					  struct file *file);
-static struct file_operations acpi_video_device_info_fops = {
+static const struct file_operations acpi_video_device_info_fops = {
 	.owner = THIS_MODULE,
 	.open = acpi_video_device_info_open_fs,
 	.read = seq_read,
@@ -247,27 +257,37 @@ static struct file_operations acpi_video
 
 static int acpi_video_device_state_open_fs(struct inode *inode,
 					   struct file *file);
-static struct file_operations acpi_video_device_state_fops = {
+static ssize_t
+acpi_video_device_write_state(struct file *file,
+			      const char __user * buffer,
+			      size_t count, loff_t * data);
+static const struct file_operations acpi_video_device_state_fops = {
 	.owner = THIS_MODULE,
 	.open = acpi_video_device_state_open_fs,
 	.read = seq_read,
+	.write = acpi_video_device_write_state,
 	.llseek = seq_lseek,
 	.release = single_release,
 };
 
 static int acpi_video_device_brightness_open_fs(struct inode *inode,
 						struct file *file);
-static struct file_operations acpi_video_device_brightness_fops = {
+static ssize_t
+acpi_video_device_write_brightness(struct file *file,
+				   const char __user * buffer,
+				   size_t count, loff_t * data);
+static const struct file_operations acpi_video_device_brightness_fops = {
 	.owner = THIS_MODULE,
 	.open = acpi_video_device_brightness_open_fs,
 	.read = seq_read,
+	.write = acpi_video_device_write_brightness,
 	.llseek = seq_lseek,
 	.release = single_release,
 };
 
 static int acpi_video_device_EDID_open_fs(struct inode *inode,
 					  struct file *file);
-static struct file_operations acpi_video_device_EDID_fops = {
+static const struct file_operations acpi_video_device_EDID_fops = {
 	.owner = THIS_MODULE,
 	.open = acpi_video_device_EDID_open_fs,
 	.read = seq_read,
@@ -1133,8 +1153,6 @@ static int acpi_video_device_add_fs(stru
 	if (!entry)
 		goto err_remove_dir;
 
-	/* 'state' [R/W] */
-	acpi_video_device_state_fops.write = acpi_video_device_write_state;
 	entry = proc_create_data("state", S_IFREG | S_IRUGO | S_IWUSR,
 				 device_dir,
 				 &acpi_video_device_state_fops,
@@ -1142,9 +1160,6 @@ static int acpi_video_device_add_fs(stru
 	if (!entry)
 		goto err_remove_info;
 
-	/* 'brightness' [R/W] */
-	acpi_video_device_brightness_fops.write =
-		acpi_video_device_write_brightness;
 	entry = proc_create_data("brightness", S_IFREG | S_IRUGO | S_IWUSR,
 				 device_dir,
 				 &acpi_video_device_brightness_fops,
@@ -1426,8 +1441,6 @@ static int acpi_video_bus_add_fs(struct 
 	if (!entry)
 		goto err_remove_rom;
 
-	/* 'POST' [R/W] */
-	acpi_video_bus_POST_fops.write = acpi_video_bus_write_POST;
 	entry = proc_create_data("POST", S_IFREG | S_IRUGO | S_IWUSR,
 				 device_dir,
 				 &acpi_video_bus_POST_fops,
@@ -1435,8 +1448,6 @@ static int acpi_video_bus_add_fs(struct 
 	if (!entry)
 		goto err_remove_post_info;
 
-	/* 'DOS' [R/W] */
-	acpi_video_bus_DOS_fops.write = acpi_video_bus_write_DOS;
 	entry = proc_create_data("DOS", S_IFREG | S_IRUGO | S_IWUSR,
 				 device_dir,
 				 &acpi_video_bus_DOS_fops,
diff -urNp linux-2.6.29.6/drivers/atm/he.c linux-2.6.29.6-new/drivers/atm/he.c
--- linux-2.6.29.6/drivers/atm/he.c	2009-07-19 12:22:44.381056524 -0400
+++ linux-2.6.29.6-new/drivers/atm/he.c	2009-07-19 17:13:43.385857097 -0400
@@ -2165,7 +2165,7 @@ __enqueue_tpd(struct he_dev *he_dev, str
 					tpd->vcc->pop(tpd->vcc, tpd->skb);
 				else
 					dev_kfree_skb_any(tpd->skb);
-				atomic_inc(&tpd->vcc->stats->tx_err);
+				atomic_inc_unchecked(&tpd->vcc->stats->tx_err);
 			}
 			pci_pool_free(he_dev->tpd_pool, tpd, TPD_ADDR(tpd->status));
 			return;
@@ -2577,7 +2577,7 @@ he_send(struct atm_vcc *vcc, struct sk_b
 			vcc->pop(vcc, skb);
 		else
 			dev_kfree_skb_any(skb);
-		atomic_inc(&vcc->stats->tx_err);
+		atomic_inc_unchecked(&vcc->stats->tx_err);
 		return -EINVAL;
 	}
 
@@ -2588,7 +2588,7 @@ he_send(struct atm_vcc *vcc, struct sk_b
 			vcc->pop(vcc, skb);
 		else
 			dev_kfree_skb_any(skb);
-		atomic_inc(&vcc->stats->tx_err);
+		atomic_inc_unchecked(&vcc->stats->tx_err);
 		return -EINVAL;
 	}
 #endif
@@ -2600,7 +2600,7 @@ he_send(struct atm_vcc *vcc, struct sk_b
 			vcc->pop(vcc, skb);
 		else
 			dev_kfree_skb_any(skb);
-		atomic_inc(&vcc->stats->tx_err);
+		atomic_inc_unchecked(&vcc->stats->tx_err);
 		spin_unlock_irqrestore(&he_dev->global_lock, flags);
 		return -ENOMEM;
 	}
@@ -2642,7 +2642,7 @@ he_send(struct atm_vcc *vcc, struct sk_b
 					vcc->pop(vcc, skb);
 				else
 					dev_kfree_skb_any(skb);
-				atomic_inc(&vcc->stats->tx_err);
+				atomic_inc_unchecked(&vcc->stats->tx_err);
 				spin_unlock_irqrestore(&he_dev->global_lock, flags);
 				return -ENOMEM;
 			}
diff -urNp linux-2.6.29.6/drivers/block/cciss.c linux-2.6.29.6-new/drivers/block/cciss.c
--- linux-2.6.29.6/drivers/block/cciss.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/block/cciss.c	2009-07-19 00:27:04.580925158 -0400
@@ -348,7 +348,7 @@ static void cciss_seq_stop(struct seq_fi
 	h->busy_configuring = 0;
 }
 
-static struct seq_operations cciss_seq_ops = {
+static const struct seq_operations cciss_seq_ops = {
 	.start = cciss_seq_start,
 	.show  = cciss_seq_show,
 	.next  = cciss_seq_next,
@@ -411,7 +411,7 @@ out:
 	return err;
 }
 
-static struct file_operations cciss_proc_fops = {
+static const struct file_operations cciss_proc_fops = {
 	.owner	 = THIS_MODULE,
 	.open    = cciss_seq_open,
 	.read    = seq_read,
diff -urNp linux-2.6.29.6/drivers/char/agp/alpha-agp.c linux-2.6.29.6-new/drivers/char/agp/alpha-agp.c
--- linux-2.6.29.6/drivers/char/agp/alpha-agp.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/char/agp/alpha-agp.c	2009-07-19 00:24:03.535033460 -0400
@@ -40,7 +40,7 @@ static struct aper_size_info_fixed alpha
 	{ 0, 0, 0 }, /* filled in by alpha_core_agp_setup */
 };
 
-struct vm_operations_struct alpha_core_agp_vm_ops = {
+const struct vm_operations_struct alpha_core_agp_vm_ops = {
 	.fault = alpha_core_agp_vm_fault,
 };
 
diff -urNp linux-2.6.29.6/drivers/char/apm-emulation.c linux-2.6.29.6-new/drivers/char/apm-emulation.c
--- linux-2.6.29.6/drivers/char/apm-emulation.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/char/apm-emulation.c	2009-07-19 00:18:56.823879215 -0400
@@ -393,7 +393,7 @@ static int apm_open(struct inode * inode
 	return as ? 0 : -ENOMEM;
 }
 
-static struct file_operations apm_bios_fops = {
+static const struct file_operations apm_bios_fops = {
 	.owner		= THIS_MODULE,
 	.read		= apm_read,
 	.poll		= apm_poll,
diff -urNp linux-2.6.29.6/drivers/char/bfin-otp.c linux-2.6.29.6-new/drivers/char/bfin-otp.c
--- linux-2.6.29.6/drivers/char/bfin-otp.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/char/bfin-otp.c	2009-07-19 00:18:56.865873879 -0400
@@ -133,7 +133,7 @@ static ssize_t bfin_otp_write(struct fil
 # define bfin_otp_write NULL
 #endif
 
-static struct file_operations bfin_otp_fops = {
+static const struct file_operations bfin_otp_fops = {
 	.owner    = THIS_MODULE,
 	.read     = bfin_otp_read,
 	.write    = bfin_otp_write,
diff -urNp linux-2.6.29.6/drivers/char/ipmi/ipmi_si_intf.c linux-2.6.29.6-new/drivers/char/ipmi/ipmi_si_intf.c
--- linux-2.6.29.6/drivers/char/ipmi/ipmi_si_intf.c	2009-07-19 12:22:44.507816028 -0400
+++ linux-2.6.29.6-new/drivers/char/ipmi/ipmi_si_intf.c	2009-07-19 00:05:51.827075028 -0400
@@ -280,7 +280,7 @@ struct smi_info {
 	unsigned char slave_addr;
 
 	/* Counters and things for the proc filesystem. */
-	atomic_t stats[SI_NUM_STATS];
+	atomic_unchecked_t stats[SI_NUM_STATS];
 
 	struct task_struct *thread;
 
diff -urNp linux-2.6.29.6/drivers/char/mem.c linux-2.6.29.6-new/drivers/char/mem.c
--- linux-2.6.29.6/drivers/char/mem.c	2009-07-19 12:22:44.510846152 -0400
+++ linux-2.6.29.6-new/drivers/char/mem.c	2009-07-19 00:24:03.570029864 -0400
@@ -335,7 +335,7 @@ static void mmap_mem_close(struct vm_are
 			vma->vm_page_prot);
 }
 
-static struct vm_operations_struct mmap_mem_ops = {
+static const struct vm_operations_struct mmap_mem_ops = {
 	.open  = mmap_mem_open,
 	.close = mmap_mem_close,
 #ifdef CONFIG_HAVE_IOREMAP_PROT
diff -urNp linux-2.6.29.6/drivers/char/misc.c linux-2.6.29.6-new/drivers/char/misc.c
--- linux-2.6.29.6/drivers/char/misc.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/char/misc.c	2009-07-19 00:27:04.647033897 -0400
@@ -91,7 +91,7 @@ static int misc_seq_show(struct seq_file
 }
 
 
-static struct seq_operations misc_seq_ops = {
+static const struct seq_operations misc_seq_ops = {
 	.start = misc_seq_start,
 	.next  = misc_seq_next,
 	.stop  = misc_seq_stop,
diff -urNp linux-2.6.29.6/drivers/char/mspec.c linux-2.6.29.6-new/drivers/char/mspec.c
--- linux-2.6.29.6/drivers/char/mspec.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/char/mspec.c	2009-07-19 00:24:03.585120363 -0400
@@ -239,7 +239,7 @@ mspec_fault(struct vm_area_struct *vma, 
 	return VM_FAULT_NOPAGE;
 }
 
-static struct vm_operations_struct mspec_vm_ops = {
+static const struct vm_operations_struct mspec_vm_ops = {
 	.open = mspec_open,
 	.close = mspec_close,
 	.fault = mspec_fault,
diff -urNp linux-2.6.29.6/drivers/char/tpm/tpm_bios.c linux-2.6.29.6-new/drivers/char/tpm/tpm_bios.c
--- linux-2.6.29.6/drivers/char/tpm/tpm_bios.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/char/tpm/tpm_bios.c	2009-07-19 00:27:04.666068984 -0400
@@ -343,14 +343,14 @@ static int tpm_ascii_bios_measurements_s
 	return 0;
 }
 
-static struct seq_operations tpm_ascii_b_measurments_seqops = {
+static const struct seq_operations tpm_ascii_b_measurments_seqops = {
 	.start = tpm_bios_measurements_start,
 	.next = tpm_bios_measurements_next,
 	.stop = tpm_bios_measurements_stop,
 	.show = tpm_ascii_bios_measurements_show,
 };
 
-static struct seq_operations tpm_binary_b_measurments_seqops = {
+static const struct seq_operations tpm_binary_b_measurments_seqops = {
 	.start = tpm_bios_measurements_start,
 	.next = tpm_bios_measurements_next,
 	.stop = tpm_bios_measurements_stop,
diff -urNp linux-2.6.29.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c linux-2.6.29.6-new/drivers/char/xilinx_hwicap/xilinx_hwicap.c
--- linux-2.6.29.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/char/xilinx_hwicap/xilinx_hwicap.c	2009-07-19 00:18:56.875641058 -0400
@@ -559,7 +559,7 @@ static int hwicap_release(struct inode *
 	return status;
 }
 
-static struct file_operations hwicap_fops = {
+static const struct file_operations hwicap_fops = {
 	.owner = THIS_MODULE,
 	.write = hwicap_write,
 	.read = hwicap_read,
diff -urNp linux-2.6.29.6/drivers/gpio/gpiolib.c linux-2.6.29.6-new/drivers/gpio/gpiolib.c
--- linux-2.6.29.6/drivers/gpio/gpiolib.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/gpio/gpiolib.c	2009-07-19 00:18:56.933829659 -0400
@@ -1235,7 +1235,7 @@ static int gpiolib_open(struct inode *in
 	return single_open(file, gpiolib_show, NULL);
 }
 
-static struct file_operations gpiolib_operations = {
+static const struct file_operations gpiolib_operations = {
 	.open		= gpiolib_open,
 	.read		= seq_read,
 	.llseek		= seq_lseek,
diff -urNp linux-2.6.29.6/drivers/gpu/drm/drm_vm.c linux-2.6.29.6-new/drivers/gpu/drm/drm_vm.c
--- linux-2.6.29.6/drivers/gpu/drm/drm_vm.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/gpu/drm/drm_vm.c	2009-07-19 00:24:03.599235834 -0400
@@ -367,28 +367,28 @@ static int drm_vm_sg_fault(struct vm_are
 }
 
 /** AGP virtual memory operations */
-static struct vm_operations_struct drm_vm_ops = {
+static const struct vm_operations_struct drm_vm_ops = {
 	.fault = drm_vm_fault,
 	.open = drm_vm_open,
 	.close = drm_vm_close,
 };
 
 /** Shared virtual memory operations */
-static struct vm_operations_struct drm_vm_shm_ops = {
+static const struct vm_operations_struct drm_vm_shm_ops = {
 	.fault = drm_vm_shm_fault,
 	.open = drm_vm_open,
 	.close = drm_vm_shm_close,
 };
 
 /** DMA virtual memory operations */
-static struct vm_operations_struct drm_vm_dma_ops = {
+static const struct vm_operations_struct drm_vm_dma_ops = {
 	.fault = drm_vm_dma_fault,
 	.open = drm_vm_open,
 	.close = drm_vm_close,
 };
 
 /** Scatter-gather virtual memory operations */
-static struct vm_operations_struct drm_vm_sg_ops = {
+static const struct vm_operations_struct drm_vm_sg_ops = {
 	.fault = drm_vm_sg_fault,
 	.open = drm_vm_open,
 	.close = drm_vm_close,
diff -urNp linux-2.6.29.6/drivers/gpu/drm/i915/i915_drv.c linux-2.6.29.6-new/drivers/gpu/drm/i915/i915_drv.c
--- linux-2.6.29.6/drivers/gpu/drm/i915/i915_drv.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/gpu/drm/i915/i915_drv.c	2009-07-19 00:24:03.612034852 -0400
@@ -117,7 +117,7 @@ static int i915_resume(struct drm_device
 	return ret;
 }
 
-static struct vm_operations_struct i915_gem_vm_ops = {
+static const struct vm_operations_struct i915_gem_vm_ops = {
 	.fault = i915_gem_fault,
 	.open = drm_gem_vm_open,
 	.close = drm_gem_vm_close,
diff -urNp linux-2.6.29.6/drivers/hwmon/fschmd.c linux-2.6.29.6-new/drivers/hwmon/fschmd.c
--- linux-2.6.29.6/drivers/hwmon/fschmd.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/hwmon/fschmd.c	2009-07-19 00:04:49.354850653 -0400
@@ -840,7 +840,7 @@ static int watchdog_ioctl(struct inode *
 	return ret;
 }
 
-static struct file_operations watchdog_fops = {
+static const struct file_operations watchdog_fops = {
 	.owner = THIS_MODULE,
 	.llseek = no_llseek,
 	.open = watchdog_open,
diff -urNp linux-2.6.29.6/drivers/ieee1394/dma.c linux-2.6.29.6-new/drivers/ieee1394/dma.c
--- linux-2.6.29.6/drivers/ieee1394/dma.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/ieee1394/dma.c	2009-07-19 00:24:03.626084308 -0400
@@ -247,7 +247,7 @@ static int dma_region_pagefault(struct v
 	return 0;
 }
 
-static struct vm_operations_struct dma_region_vm_ops = {
+static const struct vm_operations_struct dma_region_vm_ops = {
 	.fault = dma_region_pagefault,
 };
 
diff -urNp linux-2.6.29.6/drivers/infiniband/hw/ehca/ehca_uverbs.c linux-2.6.29.6-new/drivers/infiniband/hw/ehca/ehca_uverbs.c
--- linux-2.6.29.6/drivers/infiniband/hw/ehca/ehca_uverbs.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/infiniband/hw/ehca/ehca_uverbs.c	2009-07-19 00:24:03.631922283 -0400
@@ -95,7 +95,7 @@ static void ehca_mm_close(struct vm_area
 		     vma->vm_start, vma->vm_end, *count);
 }
 
-static struct vm_operations_struct vm_ops = {
+static const struct vm_operations_struct vm_ops = {
 	.open =	ehca_mm_open,
 	.close = ehca_mm_close,
 };
diff -urNp linux-2.6.29.6/drivers/infiniband/hw/ipath/ipath_file_ops.c linux-2.6.29.6-new/drivers/infiniband/hw/ipath/ipath_file_ops.c
--- linux-2.6.29.6/drivers/infiniband/hw/ipath/ipath_file_ops.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/infiniband/hw/ipath/ipath_file_ops.c	2009-07-19 00:24:03.663033993 -0400
@@ -1151,7 +1151,7 @@ static int ipath_file_vma_fault(struct v
 	return 0;
 }
 
-static struct vm_operations_struct ipath_file_vm_ops = {
+static const struct vm_operations_struct ipath_file_vm_ops = {
 	.fault = ipath_file_vma_fault,
 };
 
diff -urNp linux-2.6.29.6/drivers/infiniband/hw/ipath/ipath_mmap.c linux-2.6.29.6-new/drivers/infiniband/hw/ipath/ipath_mmap.c
--- linux-2.6.29.6/drivers/infiniband/hw/ipath/ipath_mmap.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/infiniband/hw/ipath/ipath_mmap.c	2009-07-19 00:24:03.676884293 -0400
@@ -74,7 +74,7 @@ static void ipath_vma_close(struct vm_ar
 	kref_put(&ip->ref, ipath_release_mmap_info);
 }
 
-static struct vm_operations_struct ipath_vm_ops = {
+static const struct vm_operations_struct ipath_vm_ops = {
 	.open =     ipath_vma_open,
 	.close =    ipath_vma_close,
 };
diff -urNp linux-2.6.29.6/drivers/isdn/capi/kcapi_proc.c linux-2.6.29.6-new/drivers/isdn/capi/kcapi_proc.c
--- linux-2.6.29.6/drivers/isdn/capi/kcapi_proc.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/isdn/capi/kcapi_proc.c	2009-07-19 00:27:04.679034754 -0400
@@ -89,14 +89,14 @@ static int contrstats_show(struct seq_fi
 	return 0;
 }
 
-static struct seq_operations seq_controller_ops = {
+static const struct seq_operations seq_controller_ops = {
 	.start	= controller_start,
 	.next	= controller_next,
 	.stop	= controller_stop,
 	.show	= controller_show,
 };
 
-static struct seq_operations seq_contrstats_ops = {
+static const struct seq_operations seq_contrstats_ops = {
 	.start	= controller_start,
 	.next	= controller_next,
 	.stop	= controller_stop,
@@ -194,14 +194,14 @@ applstats_show(struct seq_file *seq, voi
 	return 0;
 }
 
-static struct seq_operations seq_applications_ops = {
+static const struct seq_operations seq_applications_ops = {
 	.start	= applications_start,
 	.next	= applications_next,
 	.stop	= applications_stop,
 	.show	= applications_show,
 };
 
-static struct seq_operations seq_applstats_ops = {
+static const struct seq_operations seq_applstats_ops = {
 	.start	= applications_start,
 	.next	= applications_next,
 	.stop	= applications_stop,
@@ -262,7 +262,7 @@ static int capi_driver_show(struct seq_f
 	return 0;
 }
 
-static struct seq_operations seq_capi_driver_ops = {
+static const struct seq_operations seq_capi_driver_ops = {
 	.start	= capi_driver_start,
 	.next	= capi_driver_next,
 	.stop	= capi_driver_stop,
diff -urNp linux-2.6.29.6/drivers/isdn/mISDN/timerdev.c linux-2.6.29.6-new/drivers/isdn/mISDN/timerdev.c
--- linux-2.6.29.6/drivers/isdn/mISDN/timerdev.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/isdn/mISDN/timerdev.c	2009-07-19 00:04:35.076856639 -0400
@@ -260,7 +260,7 @@ mISDN_ioctl(struct inode *inode, struct 
 	return ret;
 }
 
-static struct file_operations mISDN_fops = {
+static const struct file_operations mISDN_fops = {
 	.read		= mISDN_read,
 	.poll		= mISDN_poll,
 	.ioctl		= mISDN_ioctl,
diff -urNp linux-2.6.29.6/drivers/lguest/lguest_user.c linux-2.6.29.6-new/drivers/lguest/lguest_user.c
--- linux-2.6.29.6/drivers/lguest/lguest_user.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/lguest/lguest_user.c	2009-07-19 00:04:49.726770585 -0400
@@ -329,7 +329,7 @@ static int close(struct inode *inode, st
  * We begin our understanding with the Host kernel interface which the Launcher
  * uses: reading and writing a character device called /dev/lguest.  All the
  * work happens in the read(), write() and close() routines: */
-static struct file_operations lguest_fops = {
+static const struct file_operations lguest_fops = {
 	.owner	 = THIS_MODULE,
 	.release = close,
 	.write	 = write,
diff -urNp linux-2.6.29.6/drivers/md/md.c linux-2.6.29.6-new/drivers/md/md.c
--- linux-2.6.29.6/drivers/md/md.c	2009-07-19 12:22:44.819958416 -0400
+++ linux-2.6.29.6-new/drivers/md/md.c	2009-07-19 00:27:04.738334382 -0400
@@ -5651,7 +5651,7 @@ static int md_seq_show(struct seq_file *
 	return 0;
 }
 
-static struct seq_operations md_seq_ops = {
+static const struct seq_operations md_seq_ops = {
 	.start  = md_seq_start,
 	.next   = md_seq_next,
 	.stop   = md_seq_stop,
diff -urNp linux-2.6.29.6/drivers/media/video/cafe_ccic.c linux-2.6.29.6-new/drivers/media/video/cafe_ccic.c
--- linux-2.6.29.6/drivers/media/video/cafe_ccic.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/media/video/cafe_ccic.c	2009-07-19 00:24:03.705075716 -0400
@@ -1428,7 +1428,7 @@ static void cafe_v4l_vm_close(struct vm_
 	mutex_unlock(&sbuf->cam->s_mutex);
 }
 
-static struct vm_operations_struct cafe_v4l_vm_ops = {
+static const struct vm_operations_struct cafe_v4l_vm_ops = {
 	.open = cafe_v4l_vm_open,
 	.close = cafe_v4l_vm_close
 };
diff -urNp linux-2.6.29.6/drivers/media/video/et61x251/et61x251_core.c linux-2.6.29.6-new/drivers/media/video/et61x251/et61x251_core.c
--- linux-2.6.29.6/drivers/media/video/et61x251/et61x251_core.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/media/video/et61x251/et61x251_core.c	2009-07-19 00:24:03.735081172 -0400
@@ -1494,7 +1494,7 @@ static void et61x251_vm_close(struct vm_
 }
 
 
-static struct vm_operations_struct et61x251_vm_ops = {
+static const struct vm_operations_struct et61x251_vm_ops = {
 	.open = et61x251_vm_open,
 	.close = et61x251_vm_close,
 };
diff -urNp linux-2.6.29.6/drivers/media/video/gspca/gspca.c linux-2.6.29.6-new/drivers/media/video/gspca/gspca.c
--- linux-2.6.29.6/drivers/media/video/gspca/gspca.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/media/video/gspca/gspca.c	2009-07-19 00:24:03.768809084 -0400
@@ -98,7 +98,7 @@ static void gspca_vm_close(struct vm_are
 		frame->v4l2_buf.flags &= ~V4L2_BUF_FLAG_MAPPED;
 }
 
-static struct vm_operations_struct gspca_vm_ops = {
+static const struct vm_operations_struct gspca_vm_ops = {
 	.open		= gspca_vm_open,
 	.close		= gspca_vm_close,
 };
diff -urNp linux-2.6.29.6/drivers/media/video/meye.c linux-2.6.29.6-new/drivers/media/video/meye.c
--- linux-2.6.29.6/drivers/media/video/meye.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/media/video/meye.c	2009-07-19 00:24:03.794167408 -0400
@@ -1628,7 +1628,7 @@ static void meye_vm_close(struct vm_area
 	meye.vma_use_count[idx]--;
 }
 
-static struct vm_operations_struct meye_vm_ops = {
+static const struct vm_operations_struct meye_vm_ops = {
 	.open		= meye_vm_open,
 	.close		= meye_vm_close,
 };
diff -urNp linux-2.6.29.6/drivers/media/video/sn9c102/sn9c102_core.c linux-2.6.29.6-new/drivers/media/video/sn9c102/sn9c102_core.c
--- linux-2.6.29.6/drivers/media/video/sn9c102/sn9c102_core.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/media/video/sn9c102/sn9c102_core.c	2009-07-19 00:24:03.847923564 -0400
@@ -2075,7 +2075,7 @@ static void sn9c102_vm_close(struct vm_a
 }
 
 
-static struct vm_operations_struct sn9c102_vm_ops = {
+static const struct vm_operations_struct sn9c102_vm_ops = {
 	.open = sn9c102_vm_open,
 	.close = sn9c102_vm_close,
 };
diff -urNp linux-2.6.29.6/drivers/media/video/stk-webcam.c linux-2.6.29.6-new/drivers/media/video/stk-webcam.c
--- linux-2.6.29.6/drivers/media/video/stk-webcam.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/media/video/stk-webcam.c	2009-07-19 00:24:03.873065581 -0400
@@ -789,7 +789,7 @@ static void stk_v4l_vm_close(struct vm_a
 	if (sbuf->mapcount == 0)
 		sbuf->v4lbuf.flags &= ~V4L2_BUF_FLAG_MAPPED;
 }
-static struct vm_operations_struct stk_v4l_vm_ops = {
+static const struct vm_operations_struct stk_v4l_vm_ops = {
 	.open = stk_v4l_vm_open,
 	.close = stk_v4l_vm_close
 };
diff -urNp linux-2.6.29.6/drivers/media/video/uvc/uvc_v4l2.c linux-2.6.29.6-new/drivers/media/video/uvc/uvc_v4l2.c
--- linux-2.6.29.6/drivers/media/video/uvc/uvc_v4l2.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/media/video/uvc/uvc_v4l2.c	2009-07-19 00:24:03.896032972 -0400
@@ -1030,7 +1030,7 @@ static void uvc_vm_close(struct vm_area_
 	buffer->vma_use_count--;
 }
 
-static struct vm_operations_struct uvc_vm_ops = {
+static const struct vm_operations_struct uvc_vm_ops = {
 	.open		= uvc_vm_open,
 	.close		= uvc_vm_close,
 };
diff -urNp linux-2.6.29.6/drivers/media/video/videobuf-dma-contig.c linux-2.6.29.6-new/drivers/media/video/videobuf-dma-contig.c
--- linux-2.6.29.6/drivers/media/video/videobuf-dma-contig.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/media/video/videobuf-dma-contig.c	2009-07-19 00:24:03.905034635 -0400
@@ -103,7 +103,7 @@ static void videobuf_vm_close(struct vm_
 	}
 }
 
-static struct vm_operations_struct videobuf_vm_ops = {
+static const struct vm_operations_struct videobuf_vm_ops = {
 	.open     = videobuf_vm_open,
 	.close    = videobuf_vm_close,
 };
diff -urNp linux-2.6.29.6/drivers/media/video/vino.c linux-2.6.29.6-new/drivers/media/video/vino.c
--- linux-2.6.29.6/drivers/media/video/vino.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/media/video/vino.c	2009-07-19 00:24:03.942159597 -0400
@@ -4088,7 +4088,7 @@ static void vino_vm_close(struct vm_area
 	dprintk("vino_vm_close(): count = %d\n", fb->map_count);
 }
 
-static struct vm_operations_struct vino_vm_ops = {
+static const struct vm_operations_struct vino_vm_ops = {
 	.open	= vino_vm_open,
 	.close	= vino_vm_close,
 };
diff -urNp linux-2.6.29.6/drivers/media/video/zc0301/zc0301_core.c linux-2.6.29.6-new/drivers/media/video/zc0301/zc0301_core.c
--- linux-2.6.29.6/drivers/media/video/zc0301/zc0301_core.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/media/video/zc0301/zc0301_core.c	2009-07-19 00:24:03.987072722 -0400
@@ -933,7 +933,7 @@ static void zc0301_vm_close(struct vm_ar
 }
 
 
-static struct vm_operations_struct zc0301_vm_ops = {
+static const struct vm_operations_struct zc0301_vm_ops = {
 	.open = zc0301_vm_open,
 	.close = zc0301_vm_close,
 };
diff -urNp linux-2.6.29.6/drivers/media/video/zoran/zoran_driver.c linux-2.6.29.6-new/drivers/media/video/zoran/zoran_driver.c
--- linux-2.6.29.6/drivers/media/video/zoran/zoran_driver.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/media/video/zoran/zoran_driver.c	2009-07-19 00:24:04.032921015 -0400
@@ -4359,7 +4359,7 @@ zoran_vm_close (struct vm_area_struct *v
 	}
 }
 
-static struct vm_operations_struct zoran_vm_ops = {
+static const struct vm_operations_struct zoran_vm_ops = {
 	.open = zoran_vm_open,
 	.close = zoran_vm_close,
 };
diff -urNp linux-2.6.29.6/drivers/misc/ibmasm/ibmasmfs.c linux-2.6.29.6-new/drivers/misc/ibmasm/ibmasmfs.c
--- linux-2.6.29.6/drivers/misc/ibmasm/ibmasmfs.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/misc/ibmasm/ibmasmfs.c	2009-07-19 14:00:50.933833006 -0400
@@ -97,7 +97,7 @@ static int ibmasmfs_get_super(struct fil
 	return get_sb_single(fst, flags, data, ibmasmfs_fill_super, mnt);
 }
 
-static struct super_operations ibmasmfs_s_ops = {
+static const struct super_operations ibmasmfs_s_ops = {
 	.statfs		= simple_statfs,
 	.drop_inode	= generic_delete_inode,
 };
diff -urNp linux-2.6.29.6/drivers/misc/phantom.c linux-2.6.29.6-new/drivers/misc/phantom.c
--- linux-2.6.29.6/drivers/misc/phantom.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/misc/phantom.c	2009-07-19 00:05:46.468769375 -0400
@@ -271,7 +271,7 @@ static unsigned int phantom_poll(struct 
 	return mask;
 }
 
-static struct file_operations phantom_file_ops = {
+static const struct file_operations phantom_file_ops = {
 	.open = phantom_open,
 	.release = phantom_release,
 	.unlocked_ioctl = phantom_ioctl,
diff -urNp linux-2.6.29.6/drivers/misc/sgi-gru/grufile.c linux-2.6.29.6-new/drivers/misc/sgi-gru/grufile.c
--- linux-2.6.29.6/drivers/misc/sgi-gru/grufile.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/misc/sgi-gru/grufile.c	2009-07-19 00:05:46.698681048 -0400
@@ -63,7 +63,7 @@ struct gru_stats_s gru_stats;
 /* Guaranteed user available resources on each node */
 static int max_user_cbrs, max_user_dsr_bytes;
 
-static struct file_operations gru_fops;
+static const struct file_operations gru_fops;
 static struct miscdevice gru_miscdev;
 
 
@@ -464,7 +464,7 @@ static void __exit gru_exit(void)
 	gru_proc_exit();
 }
 
-static struct file_operations gru_fops = {
+static const struct file_operations gru_fops = {
 	.owner		= THIS_MODULE,
 	.unlocked_ioctl	= gru_file_unlocked_ioctl,
 	.mmap		= gru_file_mmap,
@@ -476,7 +476,7 @@ static struct miscdevice gru_miscdev = {
 	.fops		= &gru_fops,
 };
 
-struct vm_operations_struct gru_vm_ops = {
+struct const vm_operations_struct gru_vm_ops = {
 	.close		= gru_vma_close,
 	.fault		= gru_fault,
 };
diff -urNp linux-2.6.29.6/drivers/net/bonding/bond_main.c linux-2.6.29.6-new/drivers/net/bonding/bond_main.c
--- linux-2.6.29.6/drivers/net/bonding/bond_main.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/net/bonding/bond_main.c	2009-07-19 00:27:04.792925762 -0400
@@ -3368,7 +3368,7 @@ static int bond_info_seq_show(struct seq
 	return 0;
 }
 
-static struct seq_operations bond_info_seq_ops = {
+static const struct seq_operations bond_info_seq_ops = {
 	.start = bond_info_seq_start,
 	.next  = bond_info_seq_next,
 	.stop  = bond_info_seq_stop,
diff -urNp linux-2.6.29.6/drivers/net/hamradio/bpqether.c linux-2.6.29.6-new/drivers/net/hamradio/bpqether.c
--- linux-2.6.29.6/drivers/net/hamradio/bpqether.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/net/hamradio/bpqether.c	2009-07-19 00:27:04.823078458 -0400
@@ -454,7 +454,7 @@ static int bpq_seq_show(struct seq_file 
 	return 0;
 }
 
-static struct seq_operations bpq_seqops = {
+static const struct seq_operations bpq_seqops = {
 	.start = bpq_seq_start,
 	.next = bpq_seq_next,
 	.stop = bpq_seq_stop,
diff -urNp linux-2.6.29.6/drivers/net/hamradio/scc.c linux-2.6.29.6-new/drivers/net/hamradio/scc.c
--- linux-2.6.29.6/drivers/net/hamradio/scc.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/net/hamradio/scc.c	2009-07-19 00:27:04.843920704 -0400
@@ -2073,7 +2073,7 @@ static int scc_net_seq_show(struct seq_f
         return 0;
 }
 
-static struct seq_operations scc_net_seq_ops = {
+static const struct seq_operations scc_net_seq_ops = {
 	.start  = scc_net_seq_start,
 	.next   = scc_net_seq_next,
 	.stop   = scc_net_seq_stop,
diff -urNp linux-2.6.29.6/drivers/net/hamradio/yam.c linux-2.6.29.6-new/drivers/net/hamradio/yam.c
--- linux-2.6.29.6/drivers/net/hamradio/yam.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/net/hamradio/yam.c	2009-07-19 00:27:04.858915640 -0400
@@ -787,7 +787,7 @@ static int yam_seq_show(struct seq_file 
 	return 0;
 }
 
-static struct seq_operations yam_seqops = {
+static const struct seq_operations yam_seqops = {
 	.start = yam_seq_start,
 	.next = yam_seq_next,
 	.stop = yam_seq_stop,
diff -urNp linux-2.6.29.6/drivers/net/pppoe.c linux-2.6.29.6-new/drivers/net/pppoe.c
--- linux-2.6.29.6/drivers/net/pppoe.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/net/pppoe.c	2009-07-19 00:27:04.883922462 -0400
@@ -1030,7 +1030,7 @@ static void pppoe_seq_stop(struct seq_fi
 	read_unlock_bh(&pppoe_hash_lock);
 }
 
-static struct seq_operations pppoe_seq_ops = {
+static const struct seq_operations pppoe_seq_ops = {
 	.start		= pppoe_seq_start,
 	.next		= pppoe_seq_next,
 	.stop		= pppoe_seq_stop,
diff -urNp linux-2.6.29.6/drivers/net/pppol2tp.c linux-2.6.29.6-new/drivers/net/pppol2tp.c
--- linux-2.6.29.6/drivers/net/pppol2tp.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/net/pppol2tp.c	2009-07-19 00:27:04.913100812 -0400
@@ -2517,7 +2517,7 @@ out:
 	return 0;
 }
 
-static struct seq_operations pppol2tp_seq_ops = {
+static const struct seq_operations pppol2tp_seq_ops = {
 	.start		= pppol2tp_seq_start,
 	.next		= pppol2tp_seq_next,
 	.stop		= pppol2tp_seq_stop,
@@ -2565,7 +2565,7 @@ static int pppol2tp_proc_release(struct 
 	return seq_release(inode, file);
 }
 
-static struct file_operations pppol2tp_proc_fops = {
+static const struct file_operations pppol2tp_proc_fops = {
 	.owner		= THIS_MODULE,
 	.open		= pppol2tp_proc_open,
 	.read		= seq_read,
diff -urNp linux-2.6.29.6/drivers/net/wireless/ath5k/debug.c linux-2.6.29.6-new/drivers/net/wireless/ath5k/debug.c
--- linux-2.6.29.6/drivers/net/wireless/ath5k/debug.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/net/wireless/ath5k/debug.c	2009-07-19 00:27:04.923948471 -0400
@@ -165,7 +165,7 @@ static int reg_show(struct seq_file *seq
 	return 0;
 }
 
-static struct seq_operations register_seq_ops = {
+static const struct seq_operations register_seq_ops = {
 	.start = reg_start,
 	.next  = reg_next,
 	.stop  = reg_stop,
diff -urNp linux-2.6.29.6/drivers/net/wireless/libertas/debugfs.c linux-2.6.29.6-new/drivers/net/wireless/libertas/debugfs.c
--- linux-2.6.29.6/drivers/net/wireless/libertas/debugfs.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/net/wireless/libertas/debugfs.c	2009-07-19 00:05:00.417777933 -0400
@@ -938,7 +938,7 @@ static ssize_t lbs_debugfs_write(struct 
 	return (ssize_t)cnt;
 }
 
-static struct file_operations lbs_debug_fops = {
+static const struct file_operations lbs_debug_fops = {
 	.owner = THIS_MODULE,
 	.open = open_file_generic,
 	.write = lbs_debugfs_write,
diff -urNp linux-2.6.29.6/drivers/net/wireless/strip.c linux-2.6.29.6-new/drivers/net/wireless/strip.c
--- linux-2.6.29.6/drivers/net/wireless/strip.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/net/wireless/strip.c	2009-07-19 00:27:04.958066181 -0400
@@ -1125,7 +1125,7 @@ static int strip_seq_show(struct seq_fil
 }
 
 
-static struct seq_operations strip_seq_ops = {
+static const struct seq_operations strip_seq_ops = {
 	.start = strip_seq_start,
 	.next  = strip_seq_next,
 	.stop  = strip_seq_stop,
diff -urNp linux-2.6.29.6/drivers/oprofile/oprofilefs.c linux-2.6.29.6-new/drivers/oprofile/oprofilefs.c
--- linux-2.6.29.6/drivers/oprofile/oprofilefs.c	2009-07-19 12:22:44.937789306 -0400
+++ linux-2.6.29.6-new/drivers/oprofile/oprofilefs.c	2009-07-19 14:00:50.938226775 -0400
@@ -35,7 +35,7 @@ static struct inode *oprofilefs_get_inod
 }
 
 
-static struct super_operations s_ops = {
+static const struct super_operations s_ops = {
 	.statfs		= simple_statfs,
 	.drop_inode 	= generic_delete_inode,
 };
diff -urNp linux-2.6.29.6/drivers/pci/hotplug/cpqphp.h linux-2.6.29.6-new/drivers/pci/hotplug/cpqphp.h
--- linux-2.6.29.6/drivers/pci/hotplug/cpqphp.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/pci/hotplug/cpqphp.h	2009-07-19 11:55:12.914286112 -0400
@@ -449,7 +449,7 @@ extern u8 cpqhp_disk_irq;
 
 /* inline functions */
 
-static inline char *slot_name(struct slot *slot)
+static inline const char *slot_name(struct slot *slot)
 {
 	return hotplug_slot_name(slot->hotplug_slot);
 }
diff -urNp linux-2.6.29.6/drivers/s390/cio/qdio_debug.c linux-2.6.29.6-new/drivers/s390/cio/qdio_debug.c
--- linux-2.6.29.6/drivers/s390/cio/qdio_debug.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/s390/cio/qdio_debug.c	2009-07-19 00:18:57.555768586 -0400
@@ -144,7 +144,7 @@ static void remove_debugfs_entry(struct 
 	}
 }
 
-static struct file_operations debugfs_fops = {
+static const struct file_operations debugfs_fops = {
 	.owner	 = THIS_MODULE,
 	.open	 = qstat_seq_open,
 	.read	 = seq_read,
diff -urNp linux-2.6.29.6/drivers/s390/cio/qdio_perf.c linux-2.6.29.6-new/drivers/s390/cio/qdio_perf.c
--- linux-2.6.29.6/drivers/s390/cio/qdio_perf.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/s390/cio/qdio_perf.c	2009-07-19 00:18:57.562768910 -0400
@@ -96,7 +96,7 @@ static int qdio_perf_seq_open(struct ino
 	return single_open(filp, qdio_perf_proc_show, NULL);
 }
 
-static struct file_operations qdio_perf_proc_fops = {
+static const struct file_operations qdio_perf_proc_fops = {
 	.owner	 = THIS_MODULE,
 	.open	 = qdio_perf_seq_open,
 	.read	 = seq_read,
diff -urNp linux-2.6.29.6/drivers/scsi/lpfc/lpfc_debugfs.c linux-2.6.29.6-new/drivers/scsi/lpfc/lpfc_debugfs.c
--- linux-2.6.29.6/drivers/scsi/lpfc/lpfc_debugfs.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/scsi/lpfc/lpfc_debugfs.c	2009-07-19 00:04:31.502680015 -0400
@@ -1132,7 +1132,7 @@ lpfc_debugfs_dumpDataDif_release(struct 
 }
 
 #undef lpfc_debugfs_op_disc_trc
-static struct file_operations lpfc_debugfs_op_disc_trc = {
+static const struct file_operations lpfc_debugfs_op_disc_trc = {
 	.owner =        THIS_MODULE,
 	.open =         lpfc_debugfs_disc_trc_open,
 	.llseek =       lpfc_debugfs_lseek,
@@ -1141,7 +1141,7 @@ static struct file_operations lpfc_debug
 };
 
 #undef lpfc_debugfs_op_nodelist
-static struct file_operations lpfc_debugfs_op_nodelist = {
+static const struct file_operations lpfc_debugfs_op_nodelist = {
 	.owner =        THIS_MODULE,
 	.open =         lpfc_debugfs_nodelist_open,
 	.llseek =       lpfc_debugfs_lseek,
@@ -1150,7 +1150,7 @@ static struct file_operations lpfc_debug
 };
 
 #undef lpfc_debugfs_op_hbqinfo
-static struct file_operations lpfc_debugfs_op_hbqinfo = {
+static const struct file_operations lpfc_debugfs_op_hbqinfo = {
 	.owner =        THIS_MODULE,
 	.open =         lpfc_debugfs_hbqinfo_open,
 	.llseek =       lpfc_debugfs_lseek,
@@ -1159,7 +1159,7 @@ static struct file_operations lpfc_debug
 };
 
 #undef lpfc_debugfs_op_dumpHBASlim
-static struct file_operations lpfc_debugfs_op_dumpHBASlim = {
+static const struct file_operations lpfc_debugfs_op_dumpHBASlim = {
 	.owner =        THIS_MODULE,
 	.open =         lpfc_debugfs_dumpHBASlim_open,
 	.llseek =       lpfc_debugfs_lseek,
@@ -1168,7 +1168,7 @@ static struct file_operations lpfc_debug
 };
 
 #undef lpfc_debugfs_op_dumpHostSlim
-static struct file_operations lpfc_debugfs_op_dumpHostSlim = {
+static const struct file_operations lpfc_debugfs_op_dumpHostSlim = {
 	.owner =        THIS_MODULE,
 	.open =         lpfc_debugfs_dumpHostSlim_open,
 	.llseek =       lpfc_debugfs_lseek,
@@ -1177,7 +1177,7 @@ static struct file_operations lpfc_debug
 };
 
 #undef lpfc_debugfs_op_dumpData
-static struct file_operations lpfc_debugfs_op_dumpData = {
+static const struct file_operations lpfc_debugfs_op_dumpData = {
 	.owner =        THIS_MODULE,
 	.open =         lpfc_debugfs_dumpData_open,
 	.llseek =       lpfc_debugfs_lseek,
@@ -1187,7 +1187,7 @@ static struct file_operations lpfc_debug
 };
 
 #undef lpfc_debugfs_op_dumpDif
-static struct file_operations lpfc_debugfs_op_dumpDif = {
+static const struct file_operations lpfc_debugfs_op_dumpDif = {
 	.owner =        THIS_MODULE,
 	.open =         lpfc_debugfs_dumpDif_open,
 	.llseek =       lpfc_debugfs_lseek,
@@ -1197,7 +1197,7 @@ static struct file_operations lpfc_debug
 };
 
 #undef lpfc_debugfs_op_slow_ring_trc
-static struct file_operations lpfc_debugfs_op_slow_ring_trc = {
+static const struct file_operations lpfc_debugfs_op_slow_ring_trc = {
 	.owner =        THIS_MODULE,
 	.open =         lpfc_debugfs_slow_ring_trc_open,
 	.llseek =       lpfc_debugfs_lseek,
diff -urNp linux-2.6.29.6/drivers/scsi/sg.c linux-2.6.29.6-new/drivers/scsi/sg.c
--- linux-2.6.29.6/drivers/scsi/sg.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/scsi/sg.c	2009-07-19 12:00:45.520357696 -0400
@@ -1197,7 +1197,7 @@ sg_vma_fault(struct vm_area_struct *vma,
 	return VM_FAULT_SIGBUS;
 }
 
-static struct vm_operations_struct sg_mmap_vm_ops = {
+static const struct vm_operations_struct sg_mmap_vm_ops = {
 	.fault = sg_vma_fault,
 };
 
@@ -1329,7 +1329,7 @@ static void sg_rq_end_io(struct request 
 	}
 }
 
-static struct file_operations sg_fops = {
+static const struct file_operations sg_fops = {
 	.owner = THIS_MODULE,
 	.read = sg_read,
 	.write = sg_write,
@@ -2222,8 +2222,11 @@ static int sg_proc_seq_show_int(struct s
 static int sg_proc_single_open_adio(struct inode *inode, struct file *file);
 static ssize_t sg_proc_write_adio(struct file *filp, const char __user *buffer,
 			          size_t count, loff_t *off);
-static struct file_operations adio_fops = {
-	/* .owner, .read and .llseek added in sg_proc_init() */
+
+static const struct file_operations adio_fops = {
+	.owner = THIS_MODULE,
+	.read = seq_read,
+	.llseek = seq_lseek,
 	.open = sg_proc_single_open_adio,
 	.write = sg_proc_write_adio,
 	.release = single_release,
@@ -2232,7 +2235,10 @@ static struct file_operations adio_fops 
 static int sg_proc_single_open_dressz(struct inode *inode, struct file *file);
 static ssize_t sg_proc_write_dressz(struct file *filp, 
 		const char __user *buffer, size_t count, loff_t *off);
-static struct file_operations dressz_fops = {
+static const struct file_operations dressz_fops = {
+	.owner = THIS_MODULE,
+	.read = seq_read,
+	.llseek = seq_lseek,
 	.open = sg_proc_single_open_dressz,
 	.write = sg_proc_write_dressz,
 	.release = single_release,
@@ -2240,14 +2246,20 @@ static struct file_operations dressz_fop
 
 static int sg_proc_seq_show_version(struct seq_file *s, void *v);
 static int sg_proc_single_open_version(struct inode *inode, struct file *file);
-static struct file_operations version_fops = {
+static const struct file_operations version_fops = {
+	.owner = THIS_MODULE,
+	.read = seq_read,
+	.llseek = seq_lseek,
 	.open = sg_proc_single_open_version,
 	.release = single_release,
 };
 
 static int sg_proc_seq_show_devhdr(struct seq_file *s, void *v);
 static int sg_proc_single_open_devhdr(struct inode *inode, struct file *file);
-static struct file_operations devhdr_fops = {
+static const struct file_operations devhdr_fops = {
+	.owner = THIS_MODULE,
+	.read = seq_read,
+	.llseek = seq_lseek,
 	.open = sg_proc_single_open_devhdr,
 	.release = single_release,
 };
@@ -2257,11 +2269,14 @@ static int sg_proc_open_dev(struct inode
 static void * dev_seq_start(struct seq_file *s, loff_t *pos);
 static void * dev_seq_next(struct seq_file *s, void *v, loff_t *pos);
 static void dev_seq_stop(struct seq_file *s, void *v);
-static struct file_operations dev_fops = {
+static const struct file_operations dev_fops = {
+	.owner = THIS_MODULE,
+	.read = seq_read,
+	.llseek = seq_lseek,
 	.open = sg_proc_open_dev,
 	.release = seq_release,
 };
-static struct seq_operations dev_seq_ops = {
+static const struct seq_operations dev_seq_ops = {
 	.start = dev_seq_start,
 	.next  = dev_seq_next,
 	.stop  = dev_seq_stop,
@@ -2270,11 +2285,14 @@ static struct seq_operations dev_seq_ops
 
 static int sg_proc_seq_show_devstrs(struct seq_file *s, void *v);
 static int sg_proc_open_devstrs(struct inode *inode, struct file *file);
-static struct file_operations devstrs_fops = {
+static const struct file_operations devstrs_fops = {
+	.owner = THIS_MODULE,
+	.read = seq_read,
+	.llseek = seq_lseek,
 	.open = sg_proc_open_devstrs,
 	.release = seq_release,
 };
-static struct seq_operations devstrs_seq_ops = {
+static const struct seq_operations devstrs_seq_ops = {
 	.start = dev_seq_start,
 	.next  = dev_seq_next,
 	.stop  = dev_seq_stop,
@@ -2283,11 +2301,14 @@ static struct seq_operations devstrs_seq
 
 static int sg_proc_seq_show_debug(struct seq_file *s, void *v);
 static int sg_proc_open_debug(struct inode *inode, struct file *file);
-static struct file_operations debug_fops = {
+static const struct file_operations debug_fops = {
+	.owner = THIS_MODULE,
+	.read = seq_read,
+	.llseek = seq_lseek,
 	.open = sg_proc_open_debug,
 	.release = seq_release,
 };
-static struct seq_operations debug_seq_ops = {
+static const struct seq_operations debug_seq_ops = {
 	.start = dev_seq_start,
 	.next  = dev_seq_next,
 	.stop  = dev_seq_stop,
@@ -2297,7 +2318,7 @@ static struct seq_operations debug_seq_o
 
 struct sg_proc_leaf {
 	const char * name;
-	struct file_operations * fops;
+	const struct file_operations * fops;
 };
 
 static struct sg_proc_leaf sg_proc_leaf_arr[] = {
@@ -2323,9 +2344,6 @@ sg_proc_init(void)
 	for (k = 0; k < num_leaves; ++k) {
 		leaf = &sg_proc_leaf_arr[k];
 		mask = leaf->fops->write ? S_IRUGO | S_IWUSR : S_IRUGO;
-		leaf->fops->owner = THIS_MODULE;
-		leaf->fops->read = seq_read;
-		leaf->fops->llseek = seq_lseek;
 		proc_create(leaf->name, mask, sg_proc_sgp, leaf->fops);
 	}
 	return 0;
diff -urNp linux-2.6.29.6/drivers/spi/spidev.c linux-2.6.29.6-new/drivers/spi/spidev.c
--- linux-2.6.29.6/drivers/spi/spidev.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/spi/spidev.c	2009-07-19 00:04:49.578757602 -0400
@@ -532,7 +532,7 @@ static int spidev_release(struct inode *
 	return status;
 }
 
-static struct file_operations spidev_fops = {
+static const struct file_operations spidev_fops = {
 	.owner =	THIS_MODULE,
 	/* REVISIT switch to aio primitives, so that userspace
 	 * gets more complete API coverage.  It'll simplify things
diff -urNp linux-2.6.29.6/drivers/staging/altpciechdma/altpciechdma.c linux-2.6.29.6-new/drivers/staging/altpciechdma/altpciechdma.c
--- linux-2.6.29.6/drivers/staging/altpciechdma/altpciechdma.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/altpciechdma/altpciechdma.c	2009-07-19 00:18:57.844661160 -0400
@@ -1085,7 +1085,7 @@ static ssize_t sg_write(struct file *fil
 /*
  * character device file operations
  */
-static struct file_operations sg_fops = {
+static const struct file_operations sg_fops = {
   .owner = THIS_MODULE,
   .open = sg_open,
   .release = sg_close,
diff -urNp linux-2.6.29.6/drivers/staging/android/binder.c linux-2.6.29.6-new/drivers/staging/android/binder.c
--- linux-2.6.29.6/drivers/staging/android/binder.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/android/binder.c	2009-07-19 00:24:04.126104576 -0400
@@ -2660,7 +2660,7 @@ static void binder_vma_close(struct vm_a
 	proc->vma = NULL;
 }
 
-static struct vm_operations_struct binder_vm_ops = {
+static const struct vm_operations_struct binder_vm_ops = {
 	.open = binder_vma_open,
 	.close = binder_vma_close,
 };
@@ -3464,7 +3464,7 @@ static int binder_read_proc_transaction_
 	return len < count ? len  : count;
 }
 
-static struct file_operations binder_fops = {
+static const struct file_operations binder_fops = {
 	.owner = THIS_MODULE,
 	.poll = binder_poll,
 	.unlocked_ioctl = binder_ioctl,
diff -urNp linux-2.6.29.6/drivers/staging/android/logger.c linux-2.6.29.6-new/drivers/staging/android/logger.c
--- linux-2.6.29.6/drivers/staging/android/logger.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/android/logger.c	2009-07-19 00:18:58.446647000 -0400
@@ -519,7 +519,7 @@ static long logger_ioctl(struct file *fi
 	return ret;
 }
 
-static struct file_operations logger_fops = {
+static const struct file_operations logger_fops = {
 	.owner = THIS_MODULE,
 	.read = logger_read,
 	.aio_write = logger_aio_write,
diff -urNp linux-2.6.29.6/drivers/staging/android/ram_console.c linux-2.6.29.6-new/drivers/staging/android/ram_console.c
--- linux-2.6.29.6/drivers/staging/android/ram_console.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/android/ram_console.c	2009-07-19 00:18:58.478654291 -0400
@@ -365,7 +365,7 @@ static ssize_t ram_console_read_old(stru
 	return count;
 }
 
-static struct file_operations ram_console_file_ops = {
+static const struct file_operations ram_console_file_ops = {
 	.owner = THIS_MODULE,
 	.read = ram_console_read_old,
 };
diff -urNp linux-2.6.29.6/drivers/staging/comedi/comedi_fops.c linux-2.6.29.6-new/drivers/staging/comedi/comedi_fops.c
--- linux-2.6.29.6/drivers/staging/comedi/comedi_fops.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/comedi/comedi_fops.c	2009-07-19 00:24:04.157043127 -0400
@@ -1385,7 +1385,7 @@ void comedi_unmap(struct vm_area_struct 
 	mutex_unlock(&dev->mutex);
 }
 
-static struct vm_operations_struct comedi_vm_ops = {
+static const struct vm_operations_struct comedi_vm_ops = {
 	.close =	comedi_unmap,
 };
 
diff -urNp linux-2.6.29.6/drivers/staging/epl/EplApiLinuxKernel.c linux-2.6.29.6-new/drivers/staging/epl/EplApiLinuxKernel.c
--- linux-2.6.29.6/drivers/staging/epl/EplApiLinuxKernel.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/epl/EplApiLinuxKernel.c	2009-07-19 00:18:58.599863206 -0400
@@ -231,7 +231,7 @@ EXPORT_NO_SYMBOLS;
 module_init(EplLinInit);
 module_exit(EplLinExit);
 
-static struct file_operations EplLinFileOps_g = {
+static const struct file_operations EplLinFileOps_g = {
 	.owner = THIS_MODULE,
 	.open = EplLinOpen,
 	.release = EplLinRelease,
diff -urNp linux-2.6.29.6/drivers/staging/go7007/go7007-v4l2.c linux-2.6.29.6-new/drivers/staging/go7007/go7007-v4l2.c
--- linux-2.6.29.6/drivers/staging/go7007/go7007-v4l2.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/go7007/go7007-v4l2.c	2009-07-19 00:24:04.192731857 -0400
@@ -1717,7 +1717,7 @@ static int go7007_vm_fault(struct vm_are
 	return 0;
 }
 
-static struct vm_operations_struct go7007_vm_ops = {
+static const struct vm_operations_struct go7007_vm_ops = {
 	.open	= go7007_vm_open,
 	.close	= go7007_vm_close,
 	.fault	= go7007_vm_fault,
diff -urNp linux-2.6.29.6/drivers/staging/me4000/me4000.c linux-2.6.29.6-new/drivers/staging/me4000/me4000.c
--- linux-2.6.29.6/drivers/staging/me4000/me4000.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/me4000/me4000.c	2009-07-19 00:18:58.923800286 -0400
@@ -309,7 +309,7 @@ static struct pci_driver me4000_driver =
 	.probe = me4000_probe
 };
 
-static struct file_operations me4000_ao_fops_sing = {
+static const struct file_operations me4000_ao_fops_sing = {
       .owner = THIS_MODULE,
       .write = me4000_ao_write_sing,
       .ioctl = me4000_ao_ioctl_sing,
@@ -317,7 +317,7 @@ static struct file_operations me4000_ao_
       .release = me4000_release,
 };
 
-static struct file_operations me4000_ao_fops_wrap = {
+static const struct file_operations me4000_ao_fops_wrap = {
       .owner = THIS_MODULE,
       .write = me4000_ao_write_wrap,
       .ioctl = me4000_ao_ioctl_wrap,
@@ -325,7 +325,7 @@ static struct file_operations me4000_ao_
       .release = me4000_release,
 };
 
-static struct file_operations me4000_ao_fops_cont = {
+static const struct file_operations me4000_ao_fops_cont = {
       .owner = THIS_MODULE,
       .write = me4000_ao_write_cont,
       .poll = me4000_ao_poll_cont,
@@ -335,14 +335,14 @@ static struct file_operations me4000_ao_
       .fsync = me4000_ao_fsync_cont,
 };
 
-static struct file_operations me4000_ai_fops_sing = {
+static const struct file_operations me4000_ai_fops_sing = {
       .owner = THIS_MODULE,
       .ioctl = me4000_ai_ioctl_sing,
       .open = me4000_open,
       .release = me4000_release,
 };
 
-static struct file_operations me4000_ai_fops_cont_sw = {
+static const struct file_operations me4000_ai_fops_cont_sw = {
       .owner = THIS_MODULE,
       .read = me4000_ai_read,
       .poll = me4000_ai_poll,
@@ -352,7 +352,7 @@ static struct file_operations me4000_ai_
       .fasync = me4000_ai_fasync,
 };
 
-static struct file_operations me4000_ai_fops_cont_et = {
+static const struct file_operations me4000_ai_fops_cont_et = {
       .owner = THIS_MODULE,
       .read = me4000_ai_read,
       .poll = me4000_ai_poll,
@@ -361,7 +361,7 @@ static struct file_operations me4000_ai_
       .release = me4000_release,
 };
 
-static struct file_operations me4000_ai_fops_cont_et_value = {
+static const struct file_operations me4000_ai_fops_cont_et_value = {
       .owner = THIS_MODULE,
       .read = me4000_ai_read,
       .poll = me4000_ai_poll,
@@ -370,7 +370,7 @@ static struct file_operations me4000_ai_
       .release = me4000_release,
 };
 
-static struct file_operations me4000_ai_fops_cont_et_chanlist = {
+static const struct file_operations me4000_ai_fops_cont_et_chanlist = {
       .owner = THIS_MODULE,
       .read = me4000_ai_read,
       .poll = me4000_ai_poll,
@@ -379,21 +379,21 @@ static struct file_operations me4000_ai_
       .release = me4000_release,
 };
 
-static struct file_operations me4000_dio_fops = {
+static const struct file_operations me4000_dio_fops = {
       .owner = THIS_MODULE,
       .ioctl = me4000_dio_ioctl,
       .open = me4000_open,
       .release = me4000_release,
 };
 
-static struct file_operations me4000_cnt_fops = {
+static const struct file_operations me4000_cnt_fops = {
       .owner = THIS_MODULE,
       .ioctl = me4000_cnt_ioctl,
       .open = me4000_open,
       .release = me4000_release,
 };
 
-static struct file_operations me4000_ext_int_fops = {
+static const struct file_operations me4000_ext_int_fops = {
       .owner = THIS_MODULE,
       .ioctl = me4000_ext_int_ioctl,
       .open = me4000_open,
@@ -401,13 +401,13 @@ static struct file_operations me4000_ext
       .fasync = me4000_ext_int_fasync,
 };
 
-static struct file_operations *me4000_ao_fops_array[] = {
+static const struct file_operations *me4000_ao_fops_array[] = {
 	&me4000_ao_fops_sing,	// single operations
 	&me4000_ao_fops_wrap,	// wraparound operations
 	&me4000_ao_fops_cont,	// continous operations
 };
 
-static struct file_operations *me4000_ai_fops_array[] = {
+static const struct file_operations *me4000_ai_fops_array[] = {
 	&me4000_ai_fops_sing,	// single operations
 	&me4000_ai_fops_cont_sw,	// continuous operations with software start
 	&me4000_ai_fops_cont_et,	// continous operations with external trigger
diff -urNp linux-2.6.29.6/drivers/staging/meilhaus/memain.c linux-2.6.29.6-new/drivers/staging/meilhaus/memain.c
--- linux-2.6.29.6/drivers/staging/meilhaus/memain.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/meilhaus/memain.c	2009-07-19 00:18:59.096898785 -0400
@@ -107,7 +107,7 @@ static struct cdev *cdevp;
 /* File operations provided by the module
 */
 
-static struct file_operations me_file_operations = {
+static const struct file_operations me_file_operations = {
 	.owner = THIS_MODULE,
 	.ioctl = me_ioctl,
 	.open = me_open,
diff -urNp linux-2.6.29.6/drivers/staging/panel/panel.c linux-2.6.29.6-new/drivers/staging/panel/panel.c
--- linux-2.6.29.6/drivers/staging/panel/panel.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/panel/panel.c	2009-07-19 00:18:59.232799557 -0400
@@ -1263,7 +1263,7 @@ static int lcd_release(struct inode *ino
 	return 0;
 }
 
-static struct file_operations lcd_fops = {
+static const struct file_operations lcd_fops = {
 	.write   = lcd_write,
 	.open    = lcd_open,
 	.release = lcd_release,
@@ -1519,7 +1519,7 @@ static int keypad_release(struct inode *
 	return 0;
 }
 
-static struct file_operations keypad_fops = {
+static const struct file_operations keypad_fops = {
 	.read    = keypad_read,		/* read */
 	.open    = keypad_open,		/* open */
 	.release = keypad_release,	/* close */
diff -urNp linux-2.6.29.6/drivers/staging/poch/poch.c linux-2.6.29.6-new/drivers/staging/poch/poch.c
--- linux-2.6.29.6/drivers/staging/poch/poch.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/poch/poch.c	2009-07-19 00:18:59.252375698 -0400
@@ -1056,7 +1056,7 @@ static int poch_ioctl(struct inode *inod
 	return 0;
 }
 
-static struct file_operations poch_fops = {
+static const struct file_operations poch_fops = {
 	.owner = THIS_MODULE,
 	.open = poch_open,
 	.release = poch_release,
diff -urNp linux-2.6.29.6/drivers/staging/rspiusb/rspiusb.c linux-2.6.29.6-new/drivers/staging/rspiusb/rspiusb.c
--- linux-2.6.29.6/drivers/staging/rspiusb/rspiusb.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/staging/rspiusb/rspiusb.c	2009-07-19 00:18:59.260645947 -0400
@@ -708,7 +708,7 @@ static int MapUserBuffer(struct ioctl_st
 	return 0;
 }
 
-static struct file_operations piusb_fops = {
+static const struct file_operations piusb_fops = {
 	.owner = THIS_MODULE,
 	.ioctl = piusb_ioctl,
 	.open = piusb_open,
diff -urNp linux-2.6.29.6/drivers/uio/uio.c linux-2.6.29.6-new/drivers/uio/uio.c
--- linux-2.6.29.6/drivers/uio/uio.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/uio/uio.c	2009-07-19 00:24:04.218032537 -0400
@@ -636,7 +636,7 @@ static int uio_vma_fault(struct vm_area_
 	return 0;
 }
 
-static struct vm_operations_struct uio_vm_ops = {
+static const struct vm_operations_struct uio_vm_ops = {
 	.open = uio_vma_open,
 	.close = uio_vma_close,
 	.fault = uio_vma_fault,
diff -urNp linux-2.6.29.6/drivers/usb/class/usbtmc.c linux-2.6.29.6-new/drivers/usb/class/usbtmc.c
--- linux-2.6.29.6/drivers/usb/class/usbtmc.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/usb/class/usbtmc.c	2009-07-19 00:04:41.271802124 -0400
@@ -954,7 +954,7 @@ static long usbtmc_ioctl(struct file *fi
 	return retval;
 }
 
-static struct file_operations fops = {
+static const struct file_operations fops = {
 	.owner		= THIS_MODULE,
 	.read		= usbtmc_read,
 	.write		= usbtmc_write,
diff -urNp linux-2.6.29.6/drivers/usb/core/inode.c linux-2.6.29.6-new/drivers/usb/core/inode.c
--- linux-2.6.29.6/drivers/usb/core/inode.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/usb/core/inode.c	2009-07-19 14:00:50.946045089 -0400
@@ -47,7 +47,7 @@
 #define USBFS_DEFAULT_BUSMODE (S_IXUGO | S_IRUGO)
 #define USBFS_DEFAULT_LISTMODE S_IRUGO
 
-static struct super_operations usbfs_ops;
+static const struct super_operations usbfs_ops;
 static const struct file_operations default_file_operations;
 static struct vfsmount *usbfs_mount;
 static int usbfs_mount_count;	/* = 0 */
@@ -444,7 +444,7 @@ static const struct file_operations defa
 	.llseek =	default_file_lseek,
 };
 
-static struct super_operations usbfs_ops = {
+static const struct super_operations usbfs_ops = {
 	.statfs =	simple_statfs,
 	.drop_inode =	generic_delete_inode,
 	.remount_fs =	remount,
diff -urNp linux-2.6.29.6/drivers/usb/gadget/inode.c linux-2.6.29.6-new/drivers/usb/gadget/inode.c
--- linux-2.6.29.6/drivers/usb/gadget/inode.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/usb/gadget/inode.c	2009-07-19 14:00:50.976809605 -0400
@@ -2035,7 +2035,7 @@ gadgetfs_create_file (struct super_block
 	return inode;
 }
 
-static struct super_operations gadget_fs_operations = {
+static const struct super_operations gadget_fs_operations = {
 	.statfs =	simple_statfs,
 	.drop_inode =	generic_delete_inode,
 };
diff -urNp linux-2.6.29.6/drivers/usb/gadget/printer.c linux-2.6.29.6-new/drivers/usb/gadget/printer.c
--- linux-2.6.29.6/drivers/usb/gadget/printer.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/usb/gadget/printer.c	2009-07-19 00:04:43.381653693 -0400
@@ -875,7 +875,7 @@ printer_ioctl(struct file *fd, unsigned 
 }
 
 /* used after endpoint configuration */
-static struct file_operations printer_io_operations = {
+static const struct file_operations printer_io_operations = {
 	.owner =	THIS_MODULE,
 	.open =		printer_open,
 	.read =		printer_read,
diff -urNp linux-2.6.29.6/drivers/usb/host/whci/debug.c linux-2.6.29.6-new/drivers/usb/host/whci/debug.c
--- linux-2.6.29.6/drivers/usb/host/whci/debug.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/usb/host/whci/debug.c	2009-07-19 00:04:43.709882695 -0400
@@ -134,7 +134,7 @@ static int pzl_open(struct inode *inode,
 	return single_open(file, pzl_print, inode->i_private);
 }
 
-static struct file_operations di_fops = {
+static const struct file_operations di_fops = {
 	.open    = di_open,
 	.read    = seq_read,
 	.llseek  = seq_lseek,
@@ -142,7 +142,7 @@ static struct file_operations di_fops = 
 	.owner   = THIS_MODULE,
 };
 
-static struct file_operations asl_fops = {
+static const struct file_operations asl_fops = {
 	.open    = asl_open,
 	.read    = seq_read,
 	.llseek  = seq_lseek,
@@ -150,7 +150,7 @@ static struct file_operations asl_fops =
 	.owner   = THIS_MODULE,
 };
 
-static struct file_operations pzl_fops = {
+static const struct file_operations pzl_fops = {
 	.open    = pzl_open,
 	.read    = seq_read,
 	.llseek  = seq_lseek,
diff -urNp linux-2.6.29.6/drivers/usb/mon/mon_bin.c linux-2.6.29.6-new/drivers/usb/mon/mon_bin.c
--- linux-2.6.29.6/drivers/usb/mon/mon_bin.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/usb/mon/mon_bin.c	2009-07-19 00:24:04.232923859 -0400
@@ -1094,7 +1094,7 @@ static int mon_bin_vma_fault(struct vm_a
 	return 0;
 }
 
-static struct vm_operations_struct mon_bin_vm_ops = {
+static const struct vm_operations_struct mon_bin_vm_ops = {
 	.open =     mon_bin_vma_open,
 	.close =    mon_bin_vma_close,
 	.fault =    mon_bin_vma_fault,
diff -urNp linux-2.6.29.6/drivers/uwb/uwb-debug.c linux-2.6.29.6-new/drivers/uwb/uwb-debug.c
--- linux-2.6.29.6/drivers/uwb/uwb-debug.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/uwb/uwb-debug.c	2009-07-19 00:18:59.299320143 -0400
@@ -205,7 +205,7 @@ static ssize_t command_write(struct file
 	return ret < 0 ? ret : len;
 }
 
-static struct file_operations command_fops = {
+static const struct file_operations command_fops = {
 	.open   = command_open,
 	.write  = command_write,
 	.read   = NULL,
@@ -255,7 +255,7 @@ static int reservations_open(struct inod
 	return single_open(file, reservations_print, inode->i_private);
 }
 
-static struct file_operations reservations_fops = {
+static const struct file_operations reservations_fops = {
 	.open    = reservations_open,
 	.read    = seq_read,
 	.llseek  = seq_lseek,
@@ -283,7 +283,7 @@ static int drp_avail_open(struct inode *
 	return single_open(file, drp_avail_print, inode->i_private);
 }
 
-static struct file_operations drp_avail_fops = {
+static const struct file_operations drp_avail_fops = {
 	.open    = drp_avail_open,
 	.read    = seq_read,
 	.llseek  = seq_lseek,
diff -urNp linux-2.6.29.6/drivers/video/fb_defio.c linux-2.6.29.6-new/drivers/video/fb_defio.c
--- linux-2.6.29.6/drivers/video/fb_defio.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/video/fb_defio.c	2009-07-19 00:24:04.253035106 -0400
@@ -125,7 +125,7 @@ page_already_added:
 	return 0;
 }
 
-static struct vm_operations_struct fb_deferred_io_vm_ops = {
+static const struct vm_operations_struct fb_deferred_io_vm_ops = {
 	.fault		= fb_deferred_io_fault,
 	.page_mkwrite	= fb_deferred_io_mkwrite,
 };
diff -urNp linux-2.6.29.6/drivers/video/omap/dispc.c linux-2.6.29.6-new/drivers/video/omap/dispc.c
--- linux-2.6.29.6/drivers/video/omap/dispc.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/video/omap/dispc.c	2009-07-19 00:24:04.272916705 -0400
@@ -1011,7 +1011,7 @@ static void mmap_user_close(struct vm_ar
 	atomic_dec(&dispc.map_count[plane]);
 }
 
-static struct vm_operations_struct mmap_user_ops = {
+static const struct vm_operations_struct mmap_user_ops = {
 	.open = mmap_user_open,
 	.close = mmap_user_close,
 };
diff -urNp linux-2.6.29.6/drivers/watchdog/hpwdt.c linux-2.6.29.6-new/drivers/watchdog/hpwdt.c
--- linux-2.6.29.6/drivers/watchdog/hpwdt.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/watchdog/hpwdt.c	2009-07-19 00:18:59.453663509 -0400
@@ -605,7 +605,7 @@ static long hpwdt_ioctl(struct file *fil
 /*
  *	Kernel interfaces
  */
-static struct file_operations hpwdt_fops = {
+static const struct file_operations hpwdt_fops = {
 	.owner = THIS_MODULE,
 	.llseek = no_llseek,
 	.write = hpwdt_write,
diff -urNp linux-2.6.29.6/drivers/watchdog/rc32434_wdt.c linux-2.6.29.6-new/drivers/watchdog/rc32434_wdt.c
--- linux-2.6.29.6/drivers/watchdog/rc32434_wdt.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/drivers/watchdog/rc32434_wdt.c	2009-07-19 00:18:59.460769049 -0400
@@ -227,7 +227,7 @@ static long rc32434_wdt_ioctl(struct fil
 	return 0;
 }
 
-static struct file_operations rc32434_wdt_fops = {
+static const struct file_operations rc32434_wdt_fops = {
 	.owner		= THIS_MODULE,
 	.llseek		= no_llseek,
 	.write		= rc32434_wdt_write,
diff -urNp linux-2.6.29.6/fs/9p/v9fs_vfs.h linux-2.6.29.6-new/fs/9p/v9fs_vfs.h
--- linux-2.6.29.6/fs/9p/v9fs_vfs.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/9p/v9fs_vfs.h	2009-07-19 13:49:29.112222445 -0400
@@ -41,8 +41,8 @@ extern struct file_system_type v9fs_fs_t
 extern const struct address_space_operations v9fs_addr_operations;
 extern const struct file_operations v9fs_file_operations;
 extern const struct file_operations v9fs_dir_operations;
-extern struct dentry_operations v9fs_dentry_operations;
-extern struct dentry_operations v9fs_cached_dentry_operations;
+extern const struct dentry_operations v9fs_dentry_operations;
+extern const struct dentry_operations v9fs_cached_dentry_operations;
 
 struct inode *v9fs_get_inode(struct super_block *sb, int mode);
 ino_t v9fs_qid2ino(struct p9_qid *qid);
diff -urNp linux-2.6.29.6/fs/9p/vfs_dentry.c linux-2.6.29.6-new/fs/9p/vfs_dentry.c
--- linux-2.6.29.6/fs/9p/vfs_dentry.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/9p/vfs_dentry.c	2009-07-19 13:44:06.127913077 -0400
@@ -104,12 +104,12 @@ void v9fs_dentry_release(struct dentry *
 	}
 }
 
-struct dentry_operations v9fs_cached_dentry_operations = {
+const struct dentry_operations v9fs_cached_dentry_operations = {
 	.d_delete = v9fs_cached_dentry_delete,
 	.d_release = v9fs_dentry_release,
 };
 
-struct dentry_operations v9fs_dentry_operations = {
+const struct dentry_operations v9fs_dentry_operations = {
 	.d_delete = v9fs_dentry_delete,
 	.d_release = v9fs_dentry_release,
 };
diff -urNp linux-2.6.29.6/fs/adfs/adfs.h linux-2.6.29.6-new/fs/adfs/adfs.h
--- linux-2.6.29.6/fs/adfs/adfs.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/adfs/adfs.h	2009-07-19 17:05:32.877034691 -0400
@@ -86,7 +86,7 @@ void __adfs_error(struct super_block *sb
 /* dir_*.c */
 extern const struct inode_operations adfs_dir_inode_operations;
 extern const struct file_operations adfs_dir_operations;
-extern struct dentry_operations adfs_dentry_operations;
+extern const struct dentry_operations adfs_dentry_operations;
 extern struct adfs_dir_ops adfs_f_dir_ops;
 extern struct adfs_dir_ops adfs_fplus_dir_ops;
 
diff -urNp linux-2.6.29.6/fs/adfs/dir.c linux-2.6.29.6-new/fs/adfs/dir.c
--- linux-2.6.29.6/fs/adfs/dir.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/adfs/dir.c	2009-07-19 13:44:06.133047470 -0400
@@ -263,7 +263,7 @@ adfs_compare(struct dentry *parent, stru
 	return 0;
 }
 
-struct dentry_operations adfs_dentry_operations = {
+const struct dentry_operations adfs_dentry_operations = {
 	.d_hash		= adfs_hash,
 	.d_compare	= adfs_compare,
 };
diff -urNp linux-2.6.29.6/fs/affs/affs.h linux-2.6.29.6-new/fs/affs/affs.h
--- linux-2.6.29.6/fs/affs/affs.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/affs/affs.h	2009-07-19 13:52:11.400976814 -0400
@@ -199,8 +199,8 @@ extern const struct address_space_operat
 extern const struct address_space_operations	 affs_aops;
 extern const struct address_space_operations	 affs_aops_ofs;
 
-extern struct dentry_operations	 affs_dentry_operations;
-extern struct dentry_operations	 affs_dentry_operations_intl;
+extern const struct dentry_operations	 affs_dentry_operations;
+extern const struct dentry_operations	 affs_dentry_operations_intl;
 
 static inline void
 affs_set_blocksize(struct super_block *sb, int size)
diff -urNp linux-2.6.29.6/fs/affs/namei.c linux-2.6.29.6-new/fs/affs/namei.c
--- linux-2.6.29.6/fs/affs/namei.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/affs/namei.c	2009-07-19 13:44:06.139149388 -0400
@@ -19,12 +19,12 @@ static int	 affs_intl_toupper(int ch);
 static int	 affs_intl_hash_dentry(struct dentry *, struct qstr *);
 static int       affs_intl_compare_dentry(struct dentry *, struct qstr *, struct qstr *);
 
-struct dentry_operations affs_dentry_operations = {
+const struct dentry_operations affs_dentry_operations = {
 	.d_hash		= affs_hash_dentry,
 	.d_compare	= affs_compare_dentry,
 };
 
-static struct dentry_operations affs_intl_dentry_operations = {
+static const struct dentry_operations affs_intl_dentry_operations = {
 	.d_hash		= affs_intl_hash_dentry,
 	.d_compare	= affs_intl_compare_dentry,
 };
diff -urNp linux-2.6.29.6/fs/afs/dir.c linux-2.6.29.6-new/fs/afs/dir.c
--- linux-2.6.29.6/fs/afs/dir.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/afs/dir.c	2009-07-19 13:44:06.149887951 -0400
@@ -62,7 +62,7 @@ const struct inode_operations afs_dir_in
 	.setattr	= afs_setattr,
 };
 
-static struct dentry_operations afs_fs_dentry_operations = {
+static const struct dentry_operations afs_fs_dentry_operations = {
 	.d_revalidate	= afs_d_revalidate,
 	.d_delete	= afs_d_delete,
 	.d_release	= afs_d_release,
diff -urNp linux-2.6.29.6/fs/afs/proc.c linux-2.6.29.6-new/fs/afs/proc.c
--- linux-2.6.29.6/fs/afs/proc.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/afs/proc.c	2009-07-19 00:27:04.999155561 -0400
@@ -28,7 +28,7 @@ static int afs_proc_cells_show(struct se
 static ssize_t afs_proc_cells_write(struct file *file, const char __user *buf,
 				    size_t size, loff_t *_pos);
 
-static struct seq_operations afs_proc_cells_ops = {
+static const struct seq_operations afs_proc_cells_ops = {
 	.start	= afs_proc_cells_start,
 	.next	= afs_proc_cells_next,
 	.stop	= afs_proc_cells_stop,
@@ -70,7 +70,7 @@ static void *afs_proc_cell_volumes_next(
 static void afs_proc_cell_volumes_stop(struct seq_file *p, void *v);
 static int afs_proc_cell_volumes_show(struct seq_file *m, void *v);
 
-static struct seq_operations afs_proc_cell_volumes_ops = {
+static const struct seq_operations afs_proc_cell_volumes_ops = {
 	.start	= afs_proc_cell_volumes_start,
 	.next	= afs_proc_cell_volumes_next,
 	.stop	= afs_proc_cell_volumes_stop,
@@ -95,7 +95,7 @@ static void *afs_proc_cell_vlservers_nex
 static void afs_proc_cell_vlservers_stop(struct seq_file *p, void *v);
 static int afs_proc_cell_vlservers_show(struct seq_file *m, void *v);
 
-static struct seq_operations afs_proc_cell_vlservers_ops = {
+static const struct seq_operations afs_proc_cell_vlservers_ops = {
 	.start	= afs_proc_cell_vlservers_start,
 	.next	= afs_proc_cell_vlservers_next,
 	.stop	= afs_proc_cell_vlservers_stop,
@@ -119,7 +119,7 @@ static void *afs_proc_cell_servers_next(
 static void afs_proc_cell_servers_stop(struct seq_file *p, void *v);
 static int afs_proc_cell_servers_show(struct seq_file *m, void *v);
 
-static struct seq_operations afs_proc_cell_servers_ops = {
+static const struct seq_operations afs_proc_cell_servers_ops = {
 	.start	= afs_proc_cell_servers_start,
 	.next	= afs_proc_cell_servers_next,
 	.stop	= afs_proc_cell_servers_stop,
diff -urNp linux-2.6.29.6/fs/anon_inodes.c linux-2.6.29.6-new/fs/anon_inodes.c
--- linux-2.6.29.6/fs/anon_inodes.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/anon_inodes.c	2009-07-19 13:44:06.153306561 -0400
@@ -48,7 +48,7 @@ static struct file_system_type anon_inod
 	.get_sb		= anon_inodefs_get_sb,
 	.kill_sb	= kill_anon_super,
 };
-static struct dentry_operations anon_inodefs_dentry_operations = {
+static const struct dentry_operations anon_inodefs_dentry_operations = {
 	.d_delete	= anon_inodefs_delete_dentry,
 };
 
diff -urNp linux-2.6.29.6/fs/autofs/root.c linux-2.6.29.6-new/fs/autofs/root.c
--- linux-2.6.29.6/fs/autofs/root.c	2009-07-19 12:22:45.300863422 -0400
+++ linux-2.6.29.6-new/fs/autofs/root.c	2009-07-19 13:44:06.173339584 -0400
@@ -192,7 +192,7 @@ static int autofs_revalidate(struct dent
 	return 1;
 }
 
-static struct dentry_operations autofs_dentry_operations = {
+static const struct dentry_operations autofs_dentry_operations = {
 	.d_revalidate	= autofs_revalidate,
 };
 
diff -urNp linux-2.6.29.6/fs/autofs4/inode.c linux-2.6.29.6-new/fs/autofs4/inode.c
--- linux-2.6.29.6/fs/autofs4/inode.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/autofs4/inode.c	2009-07-19 13:44:06.159175457 -0400
@@ -310,7 +310,7 @@ static struct autofs_info *autofs4_mkroo
 	return ino;
 }
 
-static struct dentry_operations autofs4_sb_dentry_operations = {
+static const struct dentry_operations autofs4_sb_dentry_operations = {
 	.d_release      = autofs4_dentry_release,
 };
 
diff -urNp linux-2.6.29.6/fs/autofs4/root.c linux-2.6.29.6-new/fs/autofs4/root.c
--- linux-2.6.29.6/fs/autofs4/root.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/autofs4/root.c	2009-07-19 13:44:06.166987756 -0400
@@ -349,13 +349,13 @@ void autofs4_dentry_release(struct dentr
 }
 
 /* For dentries of directories in the root dir */
-static struct dentry_operations autofs4_root_dentry_operations = {
+static const struct dentry_operations autofs4_root_dentry_operations = {
 	.d_revalidate	= autofs4_revalidate,
 	.d_release	= autofs4_dentry_release,
 };
 
 /* For other dentries */
-static struct dentry_operations autofs4_dentry_operations = {
+static const struct dentry_operations autofs4_dentry_operations = {
 	.d_revalidate	= autofs4_revalidate,
 	.d_release	= autofs4_dentry_release,
 };
diff -urNp linux-2.6.29.6/fs/btrfs/ctree.h linux-2.6.29.6-new/fs/btrfs/ctree.h
--- linux-2.6.29.6/fs/btrfs/ctree.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/btrfs/ctree.h	2009-07-19 10:37:16.903246861 -0400
@@ -2099,7 +2099,7 @@ int btrfs_sync_file(struct file *file, s
 int btrfs_drop_extent_cache(struct inode *inode, u64 start, u64 end,
 			    int skip_pinned);
 int btrfs_check_file(struct btrfs_root *root, struct inode *inode);
-extern struct file_operations btrfs_file_operations;
+extern const struct file_operations btrfs_file_operations;
 int btrfs_drop_extents(struct btrfs_trans_handle *trans,
 		       struct btrfs_root *root, struct inode *inode,
 		       u64 start, u64 end, u64 inline_limit, u64 *hint_block);
diff -urNp linux-2.6.29.6/fs/btrfs/disk-io.c linux-2.6.29.6-new/fs/btrfs/disk-io.c
--- linux-2.6.29.6/fs/btrfs/disk-io.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/btrfs/disk-io.c	2009-07-19 10:52:41.551275947 -0400
@@ -768,7 +768,7 @@ static int btree_writepage(struct page *
 }
 #endif
 
-static struct address_space_operations btree_aops = {
+static const struct address_space_operations btree_aops = {
 	.readpage	= btree_readpage,
 	.writepage	= btree_writepage,
 	.writepages	= btree_writepages,
diff -urNp linux-2.6.29.6/fs/btrfs/file.c linux-2.6.29.6-new/fs/btrfs/file.c
--- linux-2.6.29.6/fs/btrfs/file.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/btrfs/file.c	2009-07-19 00:24:04.304095958 -0400
@@ -1268,7 +1268,7 @@ out:
 	return ret > 0 ? EIO : ret;
 }
 
-static struct vm_operations_struct btrfs_file_vm_ops = {
+static const struct vm_operations_struct btrfs_file_vm_ops = {
 	.fault		= filemap_fault,
 	.page_mkwrite	= btrfs_page_mkwrite,
 };
@@ -1280,7 +1280,7 @@ static int btrfs_file_mmap(struct file	*
 	return 0;
 }
 
-struct file_operations btrfs_file_operations = {
+const struct file_operations btrfs_file_operations = {
 	.llseek		= generic_file_llseek,
 	.read		= do_sync_read,
 	.aio_read       = generic_file_aio_read,
diff -urNp linux-2.6.29.6/fs/btrfs/inode.c linux-2.6.29.6-new/fs/btrfs/inode.c
--- linux-2.6.29.6/fs/btrfs/inode.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/btrfs/inode.c	2009-07-19 10:52:41.608414077 -0400
@@ -57,14 +57,14 @@ struct btrfs_iget_args {
 	struct btrfs_root *root;
 };
 
-static struct inode_operations btrfs_dir_inode_operations;
-static struct inode_operations btrfs_symlink_inode_operations;
-static struct inode_operations btrfs_dir_ro_inode_operations;
-static struct inode_operations btrfs_special_inode_operations;
-static struct inode_operations btrfs_file_inode_operations;
-static struct address_space_operations btrfs_aops;
-static struct address_space_operations btrfs_symlink_aops;
-static struct file_operations btrfs_dir_file_operations;
+static const struct inode_operations btrfs_dir_inode_operations;
+static const struct inode_operations btrfs_symlink_inode_operations;
+static const struct inode_operations btrfs_dir_ro_inode_operations;
+static const struct inode_operations btrfs_special_inode_operations;
+static const struct inode_operations btrfs_file_inode_operations;
+static const struct address_space_operations btrfs_aops;
+static const struct address_space_operations btrfs_symlink_aops;
+static const struct file_operations btrfs_dir_file_operations;
 static struct extent_io_ops btrfs_extent_io_ops;
 
 static struct kmem_cache *btrfs_inode_cachep;
@@ -4955,7 +4955,7 @@ static int btrfs_permission(struct inode
 	return generic_permission(inode, mask, btrfs_check_acl);
 }
 
-static struct inode_operations btrfs_dir_inode_operations = {
+static const struct inode_operations btrfs_dir_inode_operations = {
 	.getattr	= btrfs_getattr,
 	.lookup		= btrfs_lookup,
 	.create		= btrfs_create,
@@ -4973,11 +4973,11 @@ static struct inode_operations btrfs_dir
 	.removexattr	= btrfs_removexattr,
 	.permission	= btrfs_permission,
 };
-static struct inode_operations btrfs_dir_ro_inode_operations = {
+static const struct inode_operations btrfs_dir_ro_inode_operations = {
 	.lookup		= btrfs_lookup,
 	.permission	= btrfs_permission,
 };
-static struct file_operations btrfs_dir_file_operations = {
+static const struct file_operations btrfs_dir_file_operations = {
 	.llseek		= generic_file_llseek,
 	.read		= generic_read_dir,
 	.readdir	= btrfs_real_readdir,
@@ -5013,7 +5013,7 @@ static struct extent_io_ops btrfs_extent
  *
  * For now we're avoiding this by dropping bmap.
  */
-static struct address_space_operations btrfs_aops = {
+static const struct address_space_operations btrfs_aops = {
 	.readpage	= btrfs_readpage,
 	.writepage	= btrfs_writepage,
 	.writepages	= btrfs_writepages,
@@ -5025,14 +5025,14 @@ static struct address_space_operations b
 	.set_page_dirty	= btrfs_set_page_dirty,
 };
 
-static struct address_space_operations btrfs_symlink_aops = {
+static const struct address_space_operations btrfs_symlink_aops = {
 	.readpage	= btrfs_readpage,
 	.writepage	= btrfs_writepage,
 	.invalidatepage = btrfs_invalidatepage,
 	.releasepage	= btrfs_releasepage,
 };
 
-static struct inode_operations btrfs_file_inode_operations = {
+static const struct inode_operations btrfs_file_inode_operations = {
 	.truncate	= btrfs_truncate,
 	.getattr	= btrfs_getattr,
 	.setattr	= btrfs_setattr,
@@ -5044,7 +5044,7 @@ static struct inode_operations btrfs_fil
 	.fallocate	= btrfs_fallocate,
 	.fiemap		= btrfs_fiemap,
 };
-static struct inode_operations btrfs_special_inode_operations = {
+static const struct inode_operations btrfs_special_inode_operations = {
 	.getattr	= btrfs_getattr,
 	.setattr	= btrfs_setattr,
 	.permission	= btrfs_permission,
@@ -5053,7 +5053,7 @@ static struct inode_operations btrfs_spe
 	.listxattr	= btrfs_listxattr,
 	.removexattr	= btrfs_removexattr,
 };
-static struct inode_operations btrfs_symlink_inode_operations = {
+static const struct inode_operations btrfs_symlink_inode_operations = {
 	.readlink	= generic_readlink,
 	.follow_link	= page_follow_link_light,
 	.put_link	= page_put_link,
diff -urNp linux-2.6.29.6/fs/btrfs/super.c linux-2.6.29.6-new/fs/btrfs/super.c
--- linux-2.6.29.6/fs/btrfs/super.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/btrfs/super.c	2009-07-19 14:00:50.984124849 -0400
@@ -52,7 +52,7 @@
 #include "compression.h"
 
 
-static struct super_operations btrfs_super_ops;
+static const struct super_operations btrfs_super_ops;
 
 static void btrfs_put_super(struct super_block *sb)
 {
@@ -625,7 +625,7 @@ static int btrfs_unfreeze(struct super_b
 	return 0;
 }
 
-static struct super_operations btrfs_super_ops = {
+static const struct super_operations btrfs_super_ops = {
 	.delete_inode	= btrfs_delete_inode,
 	.put_super	= btrfs_put_super,
 	.write_super	= btrfs_write_super,
diff -urNp linux-2.6.29.6/fs/cifs/cifs_dfs_ref.c linux-2.6.29.6-new/fs/cifs/cifs_dfs_ref.c
--- linux-2.6.29.6/fs/cifs/cifs_dfs_ref.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/cifs/cifs_dfs_ref.c	2009-07-19 00:30:12.368096994 -0400
@@ -387,7 +387,7 @@ out_err:
 	goto out;
 }
 
-struct inode_operations cifs_dfs_referral_inode_operations = {
+const struct inode_operations cifs_dfs_referral_inode_operations = {
 	.follow_link = cifs_dfs_follow_mountpoint,
 };
 
diff -urNp linux-2.6.29.6/fs/cifs/cifsfs.h linux-2.6.29.6-new/fs/cifs/cifsfs.h
--- linux-2.6.29.6/fs/cifs/cifsfs.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/cifs/cifsfs.h	2009-07-19 13:53:05.990901039 -0400
@@ -54,7 +54,7 @@ extern int cifs_setattr(struct dentry *,
 
 extern const struct inode_operations cifs_file_inode_ops;
 extern const struct inode_operations cifs_symlink_inode_ops;
-extern struct inode_operations cifs_dfs_referral_inode_operations;
+extern const struct inode_operations cifs_dfs_referral_inode_operations;
 
 
 /* Functions related to files and directories */
@@ -78,8 +78,8 @@ extern int cifs_dir_open(struct inode *i
 extern int cifs_readdir(struct file *file, void *direntry, filldir_t filldir);
 
 /* Functions related to dir entries */
-extern struct dentry_operations cifs_dentry_ops;
-extern struct dentry_operations cifs_ci_dentry_ops;
+extern const struct dentry_operations cifs_dentry_ops;
+extern const struct dentry_operations cifs_ci_dentry_ops;
 
 /* Functions related to symlinks */
 extern void *cifs_follow_link(struct dentry *direntry, struct nameidata *nd);
diff -urNp linux-2.6.29.6/fs/cifs/dir.c linux-2.6.29.6-new/fs/cifs/dir.c
--- linux-2.6.29.6/fs/cifs/dir.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/cifs/dir.c	2009-07-19 13:44:06.181147820 -0400
@@ -699,7 +699,7 @@ cifs_d_revalidate(struct dentry *direntr
 	return rc;
 }     */
 
-struct dentry_operations cifs_dentry_ops = {
+const struct dentry_operations cifs_dentry_ops = {
 	.d_revalidate = cifs_d_revalidate,
 /* d_delete:       cifs_d_delete,      */ /* not needed except for debugging */
 };
@@ -737,7 +737,7 @@ static int cifs_ci_compare(struct dentry
 	return 1;
 }
 
-struct dentry_operations cifs_ci_dentry_ops = {
+const struct dentry_operations cifs_ci_dentry_ops = {
 	.d_revalidate = cifs_d_revalidate,
 	.d_hash = cifs_ci_hash,
 	.d_compare = cifs_ci_compare,
diff -urNp linux-2.6.29.6/fs/configfs/dir.c linux-2.6.29.6-new/fs/configfs/dir.c
--- linux-2.6.29.6/fs/configfs/dir.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/configfs/dir.c	2009-07-19 13:44:06.195277053 -0400
@@ -72,7 +72,7 @@ static int configfs_d_delete(struct dent
 	return 1;
 }
 
-static struct dentry_operations configfs_dentry_ops = {
+static const struct dentry_operations configfs_dentry_ops = {
 	.d_iput		= configfs_d_iput,
 	/* simple_delete_dentry() isn't exported */
 	.d_delete	= configfs_d_delete,
diff -urNp linux-2.6.29.6/fs/dlm/debug_fs.c linux-2.6.29.6-new/fs/dlm/debug_fs.c
--- linux-2.6.29.6/fs/dlm/debug_fs.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/dlm/debug_fs.c	2009-07-19 00:27:05.044161006 -0400
@@ -386,9 +386,9 @@ static int table_seq_show(struct seq_fil
 	return rv;
 }
 
-static struct seq_operations format1_seq_ops;
-static struct seq_operations format2_seq_ops;
-static struct seq_operations format3_seq_ops;
+static const struct seq_operations format1_seq_ops;
+static const struct seq_operations format2_seq_ops;
+static const struct seq_operations format3_seq_ops;
 
 static void *table_seq_start(struct seq_file *seq, loff_t *pos)
 {
@@ -534,21 +534,21 @@ static void table_seq_stop(struct seq_fi
 	}
 }
 
-static struct seq_operations format1_seq_ops = {
+static const struct seq_operations format1_seq_ops = {
 	.start = table_seq_start,
 	.next  = table_seq_next,
 	.stop  = table_seq_stop,
 	.show  = table_seq_show,
 };
 
-static struct seq_operations format2_seq_ops = {
+static const struct seq_operations format2_seq_ops = {
 	.start = table_seq_start,
 	.next  = table_seq_next,
 	.stop  = table_seq_stop,
 	.show  = table_seq_show,
 };
 
-static struct seq_operations format3_seq_ops = {
+static const struct seq_operations format3_seq_ops = {
 	.start = table_seq_start,
 	.next  = table_seq_next,
 	.stop  = table_seq_stop,
diff -urNp linux-2.6.29.6/fs/ecryptfs/dentry.c linux-2.6.29.6-new/fs/ecryptfs/dentry.c
--- linux-2.6.29.6/fs/ecryptfs/dentry.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/ecryptfs/dentry.c	2009-07-19 13:44:06.197053255 -0400
@@ -89,7 +89,7 @@ static void ecryptfs_d_release(struct de
 	return;
 }
 
-struct dentry_operations ecryptfs_dops = {
+const struct dentry_operations ecryptfs_dops = {
 	.d_revalidate = ecryptfs_d_revalidate,
 	.d_release = ecryptfs_d_release,
 };
diff -urNp linux-2.6.29.6/fs/ecryptfs/ecryptfs_kernel.h linux-2.6.29.6-new/fs/ecryptfs/ecryptfs_kernel.h
--- linux-2.6.29.6/fs/ecryptfs/ecryptfs_kernel.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/ecryptfs/ecryptfs_kernel.h	2009-07-19 13:53:51.126848429 -0400
@@ -580,8 +580,8 @@ extern const struct inode_operations ecr
 extern const struct inode_operations ecryptfs_dir_iops;
 extern const struct inode_operations ecryptfs_symlink_iops;
 extern const struct super_operations ecryptfs_sops;
-extern struct dentry_operations ecryptfs_dops;
-extern struct address_space_operations ecryptfs_aops;
+extern const struct dentry_operations ecryptfs_dops;
+extern const struct address_space_operations ecryptfs_aops;
 extern int ecryptfs_verbosity;
 extern unsigned int ecryptfs_message_buf_len;
 extern signed long ecryptfs_message_wait_timeout;
diff -urNp linux-2.6.29.6/fs/ecryptfs/mmap.c linux-2.6.29.6-new/fs/ecryptfs/mmap.c
--- linux-2.6.29.6/fs/ecryptfs/mmap.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/ecryptfs/mmap.c	2009-07-19 10:52:41.623069081 -0400
@@ -534,7 +534,7 @@ static sector_t ecryptfs_bmap(struct add
 	return rc;
 }
 
-struct address_space_operations ecryptfs_aops = {
+const struct address_space_operations ecryptfs_aops = {
 	.writepage = ecryptfs_writepage,
 	.readpage = ecryptfs_readpage,
 	.write_begin = ecryptfs_write_begin,
diff -urNp linux-2.6.29.6/fs/ext4/file.c linux-2.6.29.6-new/fs/ext4/file.c
--- linux-2.6.29.6/fs/ext4/file.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/ext4/file.c	2009-07-19 00:24:04.318964419 -0400
@@ -128,7 +128,7 @@ force_commit:
 	return ret;
 }
 
-static struct vm_operations_struct ext4_file_vm_ops = {
+static const struct vm_operations_struct ext4_file_vm_ops = {
 	.fault		= filemap_fault,
 	.page_mkwrite   = ext4_page_mkwrite,
 };
diff -urNp linux-2.6.29.6/fs/ext4/mballoc.c linux-2.6.29.6-new/fs/ext4/mballoc.c
--- linux-2.6.29.6/fs/ext4/mballoc.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/ext4/mballoc.c	2009-07-19 00:27:05.091026976 -0400
@@ -2215,7 +2215,7 @@ static void ext4_mb_seq_history_stop(str
 {
 }
 
-static struct seq_operations ext4_mb_seq_history_ops = {
+static const struct seq_operations ext4_mb_seq_history_ops = {
 	.start  = ext4_mb_seq_history_start,
 	.next   = ext4_mb_seq_history_next,
 	.stop   = ext4_mb_seq_history_stop,
@@ -2297,7 +2297,7 @@ static ssize_t ext4_mb_seq_history_write
 	return count;
 }
 
-static struct file_operations ext4_mb_seq_history_fops = {
+static const struct file_operations ext4_mb_seq_history_fops = {
 	.owner		= THIS_MODULE,
 	.open		= ext4_mb_seq_history_open,
 	.read		= seq_read,
@@ -2379,7 +2379,7 @@ static void ext4_mb_seq_groups_stop(stru
 {
 }
 
-static struct seq_operations ext4_mb_seq_groups_ops = {
+static const struct seq_operations ext4_mb_seq_groups_ops = {
 	.start  = ext4_mb_seq_groups_start,
 	.next   = ext4_mb_seq_groups_next,
 	.stop   = ext4_mb_seq_groups_stop,
@@ -2400,7 +2400,7 @@ static int ext4_mb_seq_groups_open(struc
 
 }
 
-static struct file_operations ext4_mb_seq_groups_fops = {
+static const struct file_operations ext4_mb_seq_groups_fops = {
 	.owner		= THIS_MODULE,
 	.open		= ext4_mb_seq_groups_open,
 	.read		= seq_read,
diff -urNp linux-2.6.29.6/fs/fat/namei_msdos.c linux-2.6.29.6-new/fs/fat/namei_msdos.c
--- linux-2.6.29.6/fs/fat/namei_msdos.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/fat/namei_msdos.c	2009-07-19 13:44:06.205076764 -0400
@@ -188,7 +188,7 @@ old_compare:
 	goto out;
 }
 
-static struct dentry_operations msdos_dentry_operations = {
+static const struct dentry_operations msdos_dentry_operations = {
 	.d_hash		= msdos_hash,
 	.d_compare	= msdos_cmp,
 };
diff -urNp linux-2.6.29.6/fs/fat/namei_vfat.c linux-2.6.29.6-new/fs/fat/namei_vfat.c
--- linux-2.6.29.6/fs/fat/namei_vfat.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/fat/namei_vfat.c	2009-07-19 13:44:06.215335308 -0400
@@ -166,13 +166,13 @@ static int vfat_cmp(struct dentry *dentr
 	return 1;
 }
 
-static struct dentry_operations vfat_ci_dentry_ops = {
+static const struct dentry_operations vfat_ci_dentry_ops = {
 	.d_revalidate	= vfat_revalidate_ci,
 	.d_hash		= vfat_hashi,
 	.d_compare	= vfat_cmpi,
 };
 
-static struct dentry_operations vfat_dentry_ops = {
+static const struct dentry_operations vfat_dentry_ops = {
 	.d_revalidate	= vfat_revalidate,
 	.d_hash		= vfat_hash,
 	.d_compare	= vfat_cmp,
diff -urNp linux-2.6.29.6/fs/fuse/dir.c linux-2.6.29.6-new/fs/fuse/dir.c
--- linux-2.6.29.6/fs/fuse/dir.c	2009-07-19 12:22:45.491829648 -0400
+++ linux-2.6.29.6-new/fs/fuse/dir.c	2009-07-19 13:44:06.228038474 -0400
@@ -224,7 +224,7 @@ static int invalid_nodeid(u64 nodeid)
 	return !nodeid || nodeid == FUSE_ROOT_ID;
 }
 
-struct dentry_operations fuse_dentry_operations = {
+const struct dentry_operations fuse_dentry_operations = {
 	.d_revalidate	= fuse_dentry_revalidate,
 };
 
diff -urNp linux-2.6.29.6/fs/fuse/file.c linux-2.6.29.6-new/fs/fuse/file.c
--- linux-2.6.29.6/fs/fuse/file.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/fuse/file.c	2009-07-19 00:24:04.338091783 -0400
@@ -1247,7 +1247,7 @@ static int fuse_page_mkwrite(struct vm_a
 	return 0;
 }
 
-static struct vm_operations_struct fuse_file_vm_ops = {
+static const struct vm_operations_struct fuse_file_vm_ops = {
 	.close		= fuse_vma_close,
 	.fault		= filemap_fault,
 	.page_mkwrite	= fuse_page_mkwrite,
diff -urNp linux-2.6.29.6/fs/fuse/fuse_i.h linux-2.6.29.6-new/fs/fuse/fuse_i.h
--- linux-2.6.29.6/fs/fuse/fuse_i.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/fuse/fuse_i.h	2009-07-19 13:54:40.221980357 -0400
@@ -493,7 +493,7 @@ static inline u64 get_node_id(struct ino
 /** Device operations */
 extern const struct file_operations fuse_dev_operations;
 
-extern struct dentry_operations fuse_dentry_operations;
+extern const struct dentry_operations fuse_dentry_operations;
 
 /**
  * Get a filled in inode
diff -urNp linux-2.6.29.6/fs/gfs2/ops_dentry.c linux-2.6.29.6-new/fs/gfs2/ops_dentry.c
--- linux-2.6.29.6/fs/gfs2/ops_dentry.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/gfs2/ops_dentry.c	2009-07-19 13:44:06.230969162 -0400
@@ -108,7 +108,7 @@ static int gfs2_dhash(struct dentry *den
 	return 0;
 }
 
-struct dentry_operations gfs2_dops = {
+const struct dentry_operations gfs2_dops = {
 	.d_revalidate = gfs2_drevalidate,
 	.d_hash = gfs2_dhash,
 };
diff -urNp linux-2.6.29.6/fs/gfs2/ops_file.c linux-2.6.29.6-new/fs/gfs2/ops_file.c
--- linux-2.6.29.6/fs/gfs2/ops_file.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/gfs2/ops_file.c	2009-07-19 00:24:04.365028853 -0400
@@ -417,7 +417,7 @@ out:
 	return ret;
 }
 
-static struct vm_operations_struct gfs2_vm_ops = {
+static const struct vm_operations_struct gfs2_vm_ops = {
 	.fault = filemap_fault,
 	.page_mkwrite = gfs2_page_mkwrite,
 };
diff -urNp linux-2.6.29.6/fs/gfs2/super.h linux-2.6.29.6-new/fs/gfs2/super.h
--- linux-2.6.29.6/fs/gfs2/super.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/gfs2/super.h	2009-07-19 13:55:06.327244191 -0400
@@ -47,7 +47,7 @@ extern struct file_system_type gfs2_fs_t
 extern struct file_system_type gfs2meta_fs_type;
 extern const struct export_operations gfs2_export_ops;
 extern const struct super_operations gfs2_super_ops;
-extern struct dentry_operations gfs2_dops;
+extern const struct dentry_operations gfs2_dops;
 
 #endif /* __SUPER_DOT_H__ */
 
diff -urNp linux-2.6.29.6/fs/hfsplus/hfsplus_fs.h linux-2.6.29.6-new/fs/hfsplus/hfsplus_fs.h
--- linux-2.6.29.6/fs/hfsplus/hfsplus_fs.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/hfsplus/hfsplus_fs.h	2009-07-19 13:55:38.408770067 -0400
@@ -327,7 +327,7 @@ void hfsplus_file_truncate(struct inode 
 /* inode.c */
 extern const struct address_space_operations hfsplus_aops;
 extern const struct address_space_operations hfsplus_btree_aops;
-extern struct dentry_operations hfsplus_dentry_operations;
+extern const struct dentry_operations hfsplus_dentry_operations;
 
 void hfsplus_inode_read_fork(struct inode *, struct hfsplus_fork_raw *);
 void hfsplus_inode_write_fork(struct inode *, struct hfsplus_fork_raw *);
diff -urNp linux-2.6.29.6/fs/hfsplus/inode.c linux-2.6.29.6-new/fs/hfsplus/inode.c
--- linux-2.6.29.6/fs/hfsplus/inode.c	2009-07-19 12:22:45.505033490 -0400
+++ linux-2.6.29.6-new/fs/hfsplus/inode.c	2009-07-19 13:44:06.236344479 -0400
@@ -137,7 +137,7 @@ const struct address_space_operations hf
 	.writepages	= hfsplus_writepages,
 };
 
-struct dentry_operations hfsplus_dentry_operations = {
+const struct dentry_operations hfsplus_dentry_operations = {
 	.d_hash       = hfsplus_hash_dentry,
 	.d_compare    = hfsplus_compare_dentry,
 };
diff -urNp linux-2.6.29.6/fs/hostfs/hostfs_kern.c linux-2.6.29.6-new/fs/hostfs/hostfs_kern.c
--- linux-2.6.29.6/fs/hostfs/hostfs_kern.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/hostfs/hostfs_kern.c	2009-07-19 13:44:06.246111505 -0400
@@ -36,7 +36,7 @@ int hostfs_d_delete(struct dentry *dentr
 	return 1;
 }
 
-struct dentry_operations hostfs_dentry_ops = {
+const struct dentry_operations hostfs_dentry_ops = {
 	.d_delete		= hostfs_d_delete,
 };
 
diff -urNp linux-2.6.29.6/fs/hpfs/dentry.c linux-2.6.29.6-new/fs/hpfs/dentry.c
--- linux-2.6.29.6/fs/hpfs/dentry.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/hpfs/dentry.c	2009-07-19 13:44:06.247867455 -0400
@@ -49,7 +49,7 @@ static int hpfs_compare_dentry(struct de
 	return 0;
 }
 
-static struct dentry_operations hpfs_dentry_operations = {
+static const struct dentry_operations hpfs_dentry_operations = {
 	.d_hash		= hpfs_hash_dentry,
 	.d_compare	= hpfs_compare_dentry,
 };
diff -urNp linux-2.6.29.6/fs/isofs/inode.c linux-2.6.29.6-new/fs/isofs/inode.c
--- linux-2.6.29.6/fs/isofs/inode.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/isofs/inode.c	2009-07-19 13:44:06.261254590 -0400
@@ -114,7 +114,7 @@ static const struct super_operations iso
 };
 
 
-static struct dentry_operations isofs_dentry_ops[] = {
+static const struct dentry_operations isofs_dentry_ops[] = {
 	{
 		.d_hash		= isofs_hash,
 		.d_compare	= isofs_dentry_cmp,
diff -urNp linux-2.6.29.6/fs/jbd2/journal.c linux-2.6.29.6-new/fs/jbd2/journal.c
--- linux-2.6.29.6/fs/jbd2/journal.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/jbd2/journal.c	2009-07-19 00:27:05.173921271 -0400
@@ -762,7 +762,7 @@ static void jbd2_seq_history_stop(struct
 {
 }
 
-static struct seq_operations jbd2_seq_history_ops = {
+static const struct seq_operations jbd2_seq_history_ops = {
 	.start  = jbd2_seq_history_start,
 	.next   = jbd2_seq_history_next,
 	.stop   = jbd2_seq_history_stop,
@@ -812,7 +812,7 @@ static int jbd2_seq_history_release(stru
 	return seq_release(inode, file);
 }
 
-static struct file_operations jbd2_seq_history_fops = {
+static const struct file_operations jbd2_seq_history_fops = {
 	.owner		= THIS_MODULE,
 	.open           = jbd2_seq_history_open,
 	.read           = seq_read,
@@ -866,7 +866,7 @@ static void jbd2_seq_info_stop(struct se
 {
 }
 
-static struct seq_operations jbd2_seq_info_ops = {
+static const struct seq_operations jbd2_seq_info_ops = {
 	.start  = jbd2_seq_info_start,
 	.next   = jbd2_seq_info_next,
 	.stop   = jbd2_seq_info_stop,
@@ -914,7 +914,7 @@ static int jbd2_seq_info_release(struct 
 	return seq_release(inode, file);
 }
 
-static struct file_operations jbd2_seq_info_fops = {
+static const struct file_operations jbd2_seq_info_fops = {
 	.owner		= THIS_MODULE,
 	.open           = jbd2_seq_info_open,
 	.read           = seq_read,
diff -urNp linux-2.6.29.6/fs/nfs/client.c linux-2.6.29.6-new/fs/nfs/client.c
--- linux-2.6.29.6/fs/nfs/client.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/nfs/client.c	2009-07-19 00:27:05.269720722 -0400
@@ -1409,7 +1409,7 @@ static void *nfs_server_list_next(struct
 static void nfs_server_list_stop(struct seq_file *p, void *v);
 static int nfs_server_list_show(struct seq_file *m, void *v);
 
-static struct seq_operations nfs_server_list_ops = {
+static const struct seq_operations nfs_server_list_ops = {
 	.start	= nfs_server_list_start,
 	.next	= nfs_server_list_next,
 	.stop	= nfs_server_list_stop,
@@ -1430,7 +1430,7 @@ static void *nfs_volume_list_next(struct
 static void nfs_volume_list_stop(struct seq_file *p, void *v);
 static int nfs_volume_list_show(struct seq_file *m, void *v);
 
-static struct seq_operations nfs_volume_list_ops = {
+static const struct seq_operations nfs_volume_list_ops = {
 	.start	= nfs_volume_list_start,
 	.next	= nfs_volume_list_next,
 	.stop	= nfs_volume_list_stop,
diff -urNp linux-2.6.29.6/fs/nfs/dir.c linux-2.6.29.6-new/fs/nfs/dir.c
--- linux-2.6.29.6/fs/nfs/dir.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/nfs/dir.c	2009-07-19 13:44:06.286146404 -0400
@@ -899,7 +899,7 @@ static void nfs_dentry_iput(struct dentr
 	iput(inode);
 }
 
-struct dentry_operations nfs_dentry_operations = {
+const struct dentry_operations nfs_dentry_operations = {
 	.d_revalidate	= nfs_lookup_revalidate,
 	.d_delete	= nfs_dentry_delete,
 	.d_iput		= nfs_dentry_iput,
@@ -967,7 +967,7 @@ out:
 #ifdef CONFIG_NFS_V4
 static int nfs_open_revalidate(struct dentry *, struct nameidata *);
 
-struct dentry_operations nfs4_dentry_operations = {
+const struct dentry_operations nfs4_dentry_operations = {
 	.d_revalidate	= nfs_open_revalidate,
 	.d_delete	= nfs_dentry_delete,
 	.d_iput		= nfs_dentry_iput,
diff -urNp linux-2.6.29.6/fs/nfs/file.c linux-2.6.29.6-new/fs/nfs/file.c
--- linux-2.6.29.6/fs/nfs/file.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/nfs/file.c	2009-07-19 00:24:04.375522311 -0400
@@ -56,7 +56,7 @@ static int nfs_lock(struct file *filp, i
 static int nfs_flock(struct file *filp, int cmd, struct file_lock *fl);
 static int nfs_setlease(struct file *file, long arg, struct file_lock **fl);
 
-static struct vm_operations_struct nfs_file_vm_ops;
+static const struct vm_operations_struct nfs_file_vm_ops;
 
 const struct file_operations nfs_file_operations = {
 	.llseek		= nfs_file_llseek,
@@ -487,7 +487,7 @@ out_unlock:
 	return VM_FAULT_SIGBUS;
 }
 
-static struct vm_operations_struct nfs_file_vm_ops = {
+static const struct vm_operations_struct nfs_file_vm_ops = {
 	.fault = filemap_fault,
 	.page_mkwrite = nfs_vm_page_mkwrite,
 };
diff -urNp linux-2.6.29.6/fs/nfs/nfs4_fs.h linux-2.6.29.6-new/fs/nfs/nfs4_fs.h
--- linux-2.6.29.6/fs/nfs/nfs4_fs.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/nfs/nfs4_fs.h	2009-07-19 13:56:54.908933733 -0400
@@ -179,7 +179,7 @@ struct nfs4_state_recovery_ops {
 	int (*recover_lock)(struct nfs4_state *, struct file_lock *);
 };
 
-extern struct dentry_operations nfs4_dentry_operations;
+extern const struct dentry_operations nfs4_dentry_operations;
 extern const struct inode_operations nfs4_dir_inode_operations;
 
 /* inode.c */
diff -urNp linux-2.6.29.6/fs/nfsd/export.c linux-2.6.29.6-new/fs/nfsd/export.c
--- linux-2.6.29.6/fs/nfsd/export.c	2009-07-19 12:22:45.613849097 -0400
+++ linux-2.6.29.6-new/fs/nfsd/export.c	2009-07-19 00:27:05.330178507 -0400
@@ -1524,7 +1524,7 @@ static int e_show(struct seq_file *m, vo
 	return svc_export_show(m, &svc_export_cache, cp);
 }
 
-struct seq_operations nfs_exports_op = {
+const struct seq_operations nfs_exports_op = {
 	.start	= e_start,
 	.next	= e_next,
 	.stop	= e_stop,
diff -urNp linux-2.6.29.6/fs/ocfs2/cluster/netdebug.c linux-2.6.29.6-new/fs/ocfs2/cluster/netdebug.c
--- linux-2.6.29.6/fs/ocfs2/cluster/netdebug.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/ocfs2/cluster/netdebug.c	2009-07-19 00:27:05.401953000 -0400
@@ -163,7 +163,7 @@ static void nst_seq_stop(struct seq_file
 {
 }
 
-static struct seq_operations nst_seq_ops = {
+static const struct seq_operations nst_seq_ops = {
 	.start = nst_seq_start,
 	.next = nst_seq_next,
 	.stop = nst_seq_stop,
@@ -207,7 +207,7 @@ static int nst_fop_release(struct inode 
 	return seq_release_private(inode, file);
 }
 
-static struct file_operations nst_seq_fops = {
+static const struct file_operations nst_seq_fops = {
 	.open = nst_fop_open,
 	.read = seq_read,
 	.llseek = seq_lseek,
@@ -344,7 +344,7 @@ static void sc_seq_stop(struct seq_file 
 {
 }
 
-static struct seq_operations sc_seq_ops = {
+static const struct seq_operations sc_seq_ops = {
 	.start = sc_seq_start,
 	.next = sc_seq_next,
 	.stop = sc_seq_stop,
@@ -388,7 +388,7 @@ static int sc_fop_release(struct inode *
 	return seq_release_private(inode, file);
 }
 
-static struct file_operations sc_seq_fops = {
+static const struct file_operations sc_seq_fops = {
 	.open = sc_fop_open,
 	.read = seq_read,
 	.llseek = seq_lseek,
diff -urNp linux-2.6.29.6/fs/ocfs2/dcache.c linux-2.6.29.6-new/fs/ocfs2/dcache.c
--- linux-2.6.29.6/fs/ocfs2/dcache.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/ocfs2/dcache.c	2009-07-19 13:44:06.291910611 -0400
@@ -455,7 +455,7 @@ out_move:
 	d_move(dentry, target);
 }
 
-struct dentry_operations ocfs2_dentry_ops = {
+const struct dentry_operations ocfs2_dentry_ops = {
 	.d_revalidate		= ocfs2_dentry_revalidate,
 	.d_iput			= ocfs2_dentry_iput,
 };
diff -urNp linux-2.6.29.6/fs/ocfs2/dcache.h linux-2.6.29.6-new/fs/ocfs2/dcache.h
--- linux-2.6.29.6/fs/ocfs2/dcache.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/ocfs2/dcache.h	2009-07-19 13:58:55.268791831 -0400
@@ -26,7 +26,7 @@
 #ifndef OCFS2_DCACHE_H
 #define OCFS2_DCACHE_H
 
-extern struct dentry_operations ocfs2_dentry_ops;
+extern const struct dentry_operations ocfs2_dentry_ops;
 
 struct ocfs2_dentry_lock {
 	/* Use count of dentry lock */
diff -urNp linux-2.6.29.6/fs/ocfs2/dlm/dlmdebug.c linux-2.6.29.6-new/fs/ocfs2/dlm/dlmdebug.c
--- linux-2.6.29.6/fs/ocfs2/dlm/dlmdebug.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/ocfs2/dlm/dlmdebug.c	2009-07-19 00:27:05.414097846 -0400
@@ -489,7 +489,7 @@ bail:
 	return -ENOMEM;
 }
 
-static struct file_operations debug_purgelist_fops = {
+static const struct file_operations debug_purgelist_fops = {
 	.open =		debug_purgelist_open,
 	.release =	debug_buffer_release,
 	.read =		debug_buffer_read,
@@ -539,7 +539,7 @@ bail:
 	return -ENOMEM;
 }
 
-static struct file_operations debug_mle_fops = {
+static const struct file_operations debug_mle_fops = {
 	.open =		debug_mle_open,
 	.release =	debug_buffer_release,
 	.read =		debug_buffer_read,
@@ -683,7 +683,7 @@ static int lockres_seq_show(struct seq_f
 	return 0;
 }
 
-static struct seq_operations debug_lockres_ops = {
+static const struct seq_operations debug_lockres_ops = {
 	.start =	lockres_seq_start,
 	.stop =		lockres_seq_stop,
 	.next =		lockres_seq_next,
@@ -742,7 +742,7 @@ static int debug_lockres_release(struct 
 	return seq_release_private(inode, file);
 }
 
-static struct file_operations debug_lockres_fops = {
+static const struct file_operations debug_lockres_fops = {
 	.open =		debug_lockres_open,
 	.release =	debug_lockres_release,
 	.read =		seq_read,
@@ -903,7 +903,7 @@ bail:
 	return -ENOMEM;
 }
 
-static struct file_operations debug_state_fops = {
+static const struct file_operations debug_state_fops = {
 	.open =		debug_state_open,
 	.release =	debug_buffer_release,
 	.read =		debug_buffer_read,
diff -urNp linux-2.6.29.6/fs/ocfs2/mmap.c linux-2.6.29.6-new/fs/ocfs2/mmap.c
--- linux-2.6.29.6/fs/ocfs2/mmap.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/ocfs2/mmap.c	2009-07-19 00:24:04.390169332 -0400
@@ -202,7 +202,7 @@ out:
 	return ret;
 }
 
-static struct vm_operations_struct ocfs2_file_vm_ops = {
+static const struct vm_operations_struct ocfs2_file_vm_ops = {
 	.fault		= ocfs2_fault,
 	.page_mkwrite	= ocfs2_page_mkwrite,
 };
diff -urNp linux-2.6.29.6/fs/omfs/dir.c linux-2.6.29.6-new/fs/omfs/dir.c
--- linux-2.6.29.6/fs/omfs/dir.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/omfs/dir.c	2009-07-19 00:30:12.389147058 -0400
@@ -489,7 +489,7 @@ out:
 	return ret;
 }
 
-struct inode_operations omfs_dir_inops = {
+const struct inode_operations omfs_dir_inops = {
 	.lookup = omfs_lookup,
 	.mkdir = omfs_mkdir,
 	.rename = omfs_rename,
@@ -498,7 +498,7 @@ struct inode_operations omfs_dir_inops =
 	.rmdir = omfs_rmdir,
 };
 
-struct file_operations omfs_dir_operations = {
+const struct file_operations omfs_dir_operations = {
 	.read = generic_read_dir,
 	.readdir = omfs_readdir,
 	.llseek = generic_file_llseek,
diff -urNp linux-2.6.29.6/fs/omfs/file.c linux-2.6.29.6-new/fs/omfs/file.c
--- linux-2.6.29.6/fs/omfs/file.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/omfs/file.c	2009-07-19 10:52:41.635290341 -0400
@@ -337,7 +337,7 @@ static sector_t omfs_bmap(struct address
 	return generic_block_bmap(mapping, block, omfs_get_block);
 }
 
-struct file_operations omfs_file_operations = {
+const struct file_operations omfs_file_operations = {
 	.llseek = generic_file_llseek,
 	.read = do_sync_read,
 	.write = do_sync_write,
@@ -348,11 +348,11 @@ struct file_operations omfs_file_operati
 	.splice_read = generic_file_splice_read,
 };
 
-struct inode_operations omfs_file_inops = {
+const struct inode_operations omfs_file_inops = {
 	.truncate = omfs_truncate
 };
 
-struct address_space_operations omfs_aops = {
+const struct address_space_operations omfs_aops = {
 	.readpage = omfs_readpage,
 	.readpages = omfs_readpages,
 	.writepage = omfs_writepage,
diff -urNp linux-2.6.29.6/fs/omfs/inode.c linux-2.6.29.6-new/fs/omfs/inode.c
--- linux-2.6.29.6/fs/omfs/inode.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/omfs/inode.c	2009-07-19 14:00:50.990000849 -0400
@@ -273,7 +273,7 @@ static int omfs_statfs(struct dentry *de
 	return 0;
 }
 
-static struct super_operations omfs_sops = {
+static const struct super_operations omfs_sops = {
 	.write_inode	= omfs_write_inode,
 	.delete_inode	= omfs_delete_inode,
 	.put_super	= omfs_put_super,
diff -urNp linux-2.6.29.6/fs/omfs/omfs.h linux-2.6.29.6-new/fs/omfs/omfs.h
--- linux-2.6.29.6/fs/omfs/omfs.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/omfs/omfs.h	2009-07-19 10:58:46.047167293 -0400
@@ -44,16 +44,16 @@ extern int omfs_allocate_range(struct su
 extern int omfs_clear_range(struct super_block *sb, u64 block, int count);
 
 /* dir.c */
-extern struct file_operations omfs_dir_operations;
-extern struct inode_operations omfs_dir_inops;
+extern const struct file_operations omfs_dir_operations;
+extern const struct inode_operations omfs_dir_inops;
 extern int omfs_make_empty(struct inode *inode, struct super_block *sb);
 extern int omfs_is_bad(struct omfs_sb_info *sbi, struct omfs_header *header,
 			u64 fsblock);
 
 /* file.c */
-extern struct file_operations omfs_file_operations;
-extern struct inode_operations omfs_file_inops;
-extern struct address_space_operations omfs_aops;
+extern const struct file_operations omfs_file_operations;
+extern const struct inode_operations omfs_file_inops;
+extern const struct address_space_operations omfs_aops;
 extern void omfs_make_empty_table(struct buffer_head *bh, int offset);
 extern int omfs_shrink_inode(struct inode *inode);
 
diff -urNp linux-2.6.29.6/fs/pipe.c linux-2.6.29.6-new/fs/pipe.c
--- linux-2.6.29.6/fs/pipe.c	2009-07-19 12:22:45.664276265 -0400
+++ linux-2.6.29.6-new/fs/pipe.c	2009-07-19 13:44:06.302268668 -0400
@@ -870,7 +870,7 @@ static char *pipefs_dname(struct dentry 
 				dentry->d_inode->i_ino);
 }
 
-static struct dentry_operations pipefs_dentry_operations = {
+static const struct dentry_operations pipefs_dentry_operations = {
 	.d_delete	= pipefs_delete_dentry,
 	.d_dname	= pipefs_dname,
 };
diff -urNp linux-2.6.29.6/fs/proc/nommu.c linux-2.6.29.6-new/fs/proc/nommu.c
--- linux-2.6.29.6/fs/proc/nommu.c	2009-07-19 12:22:45.724851472 -0400
+++ linux-2.6.29.6-new/fs/proc/nommu.c	2009-07-19 00:27:05.502095516 -0400
@@ -109,7 +109,7 @@ static void *nommu_region_list_next(stru
 	return rb_next((struct rb_node *) v);
 }
 
-static struct seq_operations proc_nommu_region_list_seqop = {
+static const struct seq_operations proc_nommu_region_list_seqop = {
 	.start	= nommu_region_list_start,
 	.next	= nommu_region_list_next,
 	.stop	= nommu_region_list_stop,
diff -urNp linux-2.6.29.6/fs/proc/proc_sysctl.c linux-2.6.29.6-new/fs/proc/proc_sysctl.c
--- linux-2.6.29.6/fs/proc/proc_sysctl.c	2009-07-19 12:22:45.725832692 -0400
+++ linux-2.6.29.6-new/fs/proc/proc_sysctl.c	2009-07-19 13:44:06.306920427 -0400
@@ -9,7 +9,7 @@
 
 extern __u32 gr_handle_sysctl(const struct ctl_table *table, const int op);
 
-static struct dentry_operations proc_sys_dentry_operations;
+static const struct dentry_operations proc_sys_dentry_operations;
 static const struct file_operations proc_sys_file_operations;
 static const struct inode_operations proc_sys_inode_operations;
 static const struct file_operations proc_sys_dir_file_operations;
@@ -407,7 +407,7 @@ static int proc_sys_compare(struct dentr
 	return !sysctl_is_seen(PROC_I(dentry->d_inode)->sysctl);
 }
 
-static struct dentry_operations proc_sys_dentry_operations = {
+static const struct dentry_operations proc_sys_dentry_operations = {
 	.d_revalidate	= proc_sys_revalidate,
 	.d_delete	= proc_sys_delete,
 	.d_compare	= proc_sys_compare,
diff -urNp linux-2.6.29.6/fs/reiserfs/xattr.c linux-2.6.29.6-new/fs/reiserfs/xattr.c
--- linux-2.6.29.6/fs/reiserfs/xattr.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/reiserfs/xattr.c	2009-07-19 13:44:06.316883097 -0400
@@ -1136,7 +1136,7 @@ xattr_lookup_poison(struct dentry *dentr
 	return 1;
 }
 
-static struct dentry_operations xattr_lookup_poison_ops = {
+static const struct dentry_operations xattr_lookup_poison_ops = {
 	.d_compare = xattr_lookup_poison,
 };
 
diff -urNp linux-2.6.29.6/fs/squashfs/super.c linux-2.6.29.6-new/fs/squashfs/super.c
--- linux-2.6.29.6/fs/squashfs/super.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/squashfs/super.c	2009-07-19 14:00:50.994886894 -0400
@@ -43,7 +43,7 @@
 #include "squashfs.h"
 
 static struct file_system_type squashfs_fs_type;
-static struct super_operations squashfs_super_ops;
+static const struct super_operations squashfs_super_ops;
 
 static int supported_squashfs_filesystem(short major, short minor, short comp)
 {
@@ -426,7 +426,7 @@ static struct file_system_type squashfs_
 	.fs_flags = FS_REQUIRES_DEV
 };
 
-static struct super_operations squashfs_super_ops = {
+static const struct super_operations squashfs_super_ops = {
 	.alloc_inode = squashfs_alloc_inode,
 	.destroy_inode = squashfs_destroy_inode,
 	.statfs = squashfs_statfs,
diff -urNp linux-2.6.29.6/fs/sysfs/dir.c linux-2.6.29.6-new/fs/sysfs/dir.c
--- linux-2.6.29.6/fs/sysfs/dir.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/sysfs/dir.c	2009-07-19 13:44:06.326219644 -0400
@@ -302,7 +302,7 @@ static void sysfs_d_iput(struct dentry *
 	iput(inode);
 }
 
-static struct dentry_operations sysfs_dentry_ops = {
+static const struct dentry_operations sysfs_dentry_ops = {
 	.d_iput		= sysfs_d_iput,
 };
 
diff -urNp linux-2.6.29.6/fs/sysv/namei.c linux-2.6.29.6-new/fs/sysv/namei.c
--- linux-2.6.29.6/fs/sysv/namei.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/sysv/namei.c	2009-07-19 13:44:06.330125711 -0400
@@ -38,7 +38,7 @@ static int sysv_hash(struct dentry *dent
 	return 0;
 }
 
-struct dentry_operations sysv_dentry_operations = {
+const struct dentry_operations sysv_dentry_operations = {
 	.d_hash		= sysv_hash,
 };
 
diff -urNp linux-2.6.29.6/fs/sysv/sysv.h linux-2.6.29.6-new/fs/sysv/sysv.h
--- linux-2.6.29.6/fs/sysv/sysv.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/sysv/sysv.h	2009-07-19 13:59:59.658223939 -0400
@@ -170,7 +170,7 @@ extern const struct file_operations sysv
 extern const struct file_operations sysv_dir_operations;
 extern const struct address_space_operations sysv_aops;
 extern const struct super_operations sysv_sops;
-extern struct dentry_operations sysv_dentry_operations;
+extern const struct dentry_operations sysv_dentry_operations;
 
 
 enum {
diff -urNp linux-2.6.29.6/fs/ubifs/file.c linux-2.6.29.6-new/fs/ubifs/file.c
--- linux-2.6.29.6/fs/ubifs/file.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/ubifs/file.c	2009-07-19 00:24:04.415033308 -0400
@@ -1526,7 +1526,7 @@ out_unlock:
 	return err;
 }
 
-static struct vm_operations_struct ubifs_file_vm_ops = {
+static const struct vm_operations_struct ubifs_file_vm_ops = {
 	.fault        = filemap_fault,
 	.page_mkwrite = ubifs_vm_page_mkwrite,
 };
diff -urNp linux-2.6.29.6/fs/xfs/linux-2.6/xfs_file.c linux-2.6.29.6-new/fs/xfs/linux-2.6/xfs_file.c
--- linux-2.6.29.6/fs/xfs/linux-2.6/xfs_file.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/xfs/linux-2.6/xfs_file.c	2009-07-19 00:24:04.450034117 -0400
@@ -43,7 +43,7 @@
 #include <linux/dcache.h>
 #include <linux/smp_lock.h>
 
-static struct vm_operations_struct xfs_file_vm_ops;
+static const struct vm_operations_struct xfs_file_vm_ops;
 
 STATIC ssize_t
 xfs_file_aio_read(
@@ -272,7 +272,7 @@ const struct file_operations xfs_dir_fil
 	.fsync		= xfs_file_fsync,
 };
 
-static struct vm_operations_struct xfs_file_vm_ops = {
+static const struct vm_operations_struct xfs_file_vm_ops = {
 	.fault		= filemap_fault,
 	.page_mkwrite	= xfs_vm_page_mkwrite,
 };
diff -urNp linux-2.6.29.6/fs/xfs/linux-2.6/xfs_super.c linux-2.6.29.6-new/fs/xfs/linux-2.6/xfs_super.c
--- linux-2.6.29.6/fs/xfs/linux-2.6/xfs_super.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/fs/xfs/linux-2.6/xfs_super.c	2009-07-19 14:00:51.010018612 -0400
@@ -69,7 +69,7 @@
 #include <linux/parser.h>
 
 static struct quotactl_ops xfs_quotactl_operations;
-static struct super_operations xfs_super_operations;
+static const struct super_operations xfs_super_operations;
 static kmem_zone_t *xfs_ioend_zone;
 mempool_t *xfs_ioend_pool;
 
@@ -1564,7 +1564,7 @@ xfs_fs_get_sb(
 			   mnt);
 }
 
-static struct super_operations xfs_super_operations = {
+static const struct super_operations xfs_super_operations = {
 	.alloc_inode		= xfs_fs_alloc_inode,
 	.destroy_inode		= xfs_fs_destroy_inode,
 	.write_inode		= xfs_fs_write_inode,
diff -urNp linux-2.6.29.6/grsecurity/gracl.c linux-2.6.29.6-new/grsecurity/gracl.c
--- linux-2.6.29.6/grsecurity/gracl.c	2009-07-19 12:22:45.879199224 -0400
+++ linux-2.6.29.6-new/grsecurity/gracl.c	2009-07-19 17:50:29.074202404 -0400
@@ -50,7 +50,11 @@ DEFINE_RWLOCK(gr_inode_lock);
 
 struct gr_arg *gr_usermode;
 
+#ifdef CONFIG_PAX_KERNEXEC
+static unsigned int gr_status __read_only = GR_STATUS_INIT;
+#else
 static unsigned int gr_status = GR_STATUS_INIT;
+#endif
 
 extern int chkpw(struct gr_arg *entry, unsigned char *salt, unsigned char *sum);
 extern void gr_clear_learn_entries(void);
@@ -1565,7 +1569,18 @@ gracl_init(struct gr_arg *args)
 		goto out;
 	}
 
+#ifdef CONFIG_PAX_KERNEXEC
+	{
+		unsigned long cr0;
+
+		pax_open_kernel(cr0);
+		gr_status |= GR_READY;
+		pax_close_kernel(cr0);
+	}
+#else
 	gr_status |= GR_READY;
+#endif
+
       out:
 	return error;
 }
@@ -2932,7 +2947,17 @@ write_grsec_handler(struct file *file, c
 	case GR_SHUTDOWN:
 		if ((gr_status & GR_READY)
 		    && !(chkpw(gr_usermode, gr_system_salt, gr_system_sum))) {
+#ifdef CONFIG_PAX_KERNEXEC
+			{
+				unsigned long cr0;
+
+				pax_open_kernel(cr0);
+				gr_status &= ~GR_READY;
+				pax_close_kernel(cr0);
+			}
+#else
 			gr_status &= ~GR_READY;
+#endif
 			gr_log_noargs(GR_DONT_AUDIT_GOOD, GR_SHUTS_ACL_MSG);
 			free_variables();
 			memset(gr_usermode, 0, sizeof (struct gr_arg));
@@ -2963,7 +2988,17 @@ write_grsec_handler(struct file *file, c
 			error = -EAGAIN;
 		} else if (!(chkpw(gr_usermode, gr_system_salt, gr_system_sum))) {
 			lock_kernel();
+#ifdef CONFIG_PAX_KERNEXEC
+			{
+				unsigned long cr0;
+
+				pax_open_kernel(cr0);
+				gr_status &= ~GR_READY;
+				pax_close_kernel(cr0);
+			}
+#else
 			gr_status &= ~GR_READY;
+#endif
 			free_variables();
 			if (!(error2 = gracl_init(gr_usermode))) {
 				unlock_kernel();
@@ -3736,7 +3771,9 @@ void gr_set_kernel_label(struct task_str
 int gr_is_taskstats_denied(int pid)
 {
 	struct task_struct *task;
+#if defined(CONFIG_GRKERNSEC_PROC_USER) || defined(CONFIG_GRKERNSEC_PROC_USERGROUP)
 	const struct cred *cred;
+#endif
 	int ret = 0;
 
 	/* restrict taskstats viewing to un-chrooted root users
diff -urNp linux-2.6.29.6/grsecurity/gracl_learn.c linux-2.6.29.6-new/grsecurity/gracl_learn.c
--- linux-2.6.29.6/grsecurity/gracl_learn.c	2009-07-19 12:22:45.880988484 -0400
+++ linux-2.6.29.6-new/grsecurity/gracl_learn.c	2009-07-19 00:08:07.600940872 -0400
@@ -202,7 +202,7 @@ close_learn(struct inode *inode, struct 
 	return 0;
 }
 		
-struct file_operations grsec_fops = {
+const struct file_operations grsec_fops = {
 	.read		= read_learn,
 	.write		= write_grsec_handler,
 	.open		= open_learn,
diff -urNp linux-2.6.29.6/grsecurity/grsec_init.c linux-2.6.29.6-new/grsecurity/grsec_init.c
--- linux-2.6.29.6/grsecurity/grsec_init.c	2009-07-19 12:22:45.890799113 -0400
+++ linux-2.6.29.6-new/grsecurity/grsec_init.c	2009-07-19 17:43:21.314110480 -0400
@@ -66,7 +66,7 @@ extern struct gr_arg *gr_usermode;
 extern unsigned char *gr_system_salt;
 extern unsigned char *gr_system_sum;
 
-void
+void __init
 grsecurity_init(void)
 {
 	int j;
diff -urNp linux-2.6.29.6/include/acpi/processor.h linux-2.6.29.6-new/include/acpi/processor.h
--- linux-2.6.29.6/include/acpi/processor.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/include/acpi/processor.h	2009-07-19 11:23:44.210348656 -0400
@@ -322,7 +322,7 @@ static inline int acpi_processor_ppc_has
 int acpi_processor_tstate_has_changed(struct acpi_processor *pr);
 int acpi_processor_get_throttling_info(struct acpi_processor *pr);
 extern int acpi_processor_set_throttling(struct acpi_processor *pr, int state);
-extern struct file_operations acpi_processor_throttling_fops;
+extern const struct file_operations acpi_processor_throttling_fops;
 extern void acpi_processor_throttling_init(void);
 /* in processor_idle.c */
 int acpi_processor_power_init(struct acpi_processor *pr,
@@ -336,7 +336,7 @@ extern struct cpuidle_driver acpi_idle_d
 
 /* in processor_thermal.c */
 int acpi_processor_get_limit_info(struct acpi_processor *pr);
-extern struct file_operations acpi_processor_limit_fops;
+extern const struct file_operations acpi_processor_limit_fops;
 extern struct thermal_cooling_device_ops processor_cooling_ops;
 #ifdef CONFIG_CPU_FREQ
 void acpi_thermal_cpufreq_init(void);
diff -urNp linux-2.6.29.6/include/drm/drmP.h linux-2.6.29.6-new/include/drm/drmP.h
--- linux-2.6.29.6/include/drm/drmP.h	2009-07-19 12:22:45.977823216 -0400
+++ linux-2.6.29.6-new/include/drm/drmP.h	2009-07-19 11:35:49.067586538 -0400
@@ -769,7 +769,7 @@ struct drm_driver {
 	void (*gem_free_object) (struct drm_gem_object *obj);
 
 	/* Driver private ops for this object */
-	struct vm_operations_struct *gem_vm_ops;
+	const struct vm_operations_struct *gem_vm_ops;
 
 	int major;
 	int minor;
diff -urNp linux-2.6.29.6/include/linux/cgroup.h linux-2.6.29.6-new/include/linux/cgroup.h
--- linux-2.6.29.6/include/linux/cgroup.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/include/linux/cgroup.h	2009-07-19 10:30:03.308044702 -0400
@@ -35,7 +35,7 @@ extern void cgroup_exit(struct task_stru
 extern int cgroupstats_build(struct cgroupstats *stats,
 				struct dentry *dentry);
 
-extern struct file_operations proc_cgroup_operations;
+extern const struct file_operations proc_cgroup_operations;
 
 /* Define the enumeration of all cgroup subsystems */
 #define SUBSYS(_x) _x ## _subsys_id,
diff -urNp linux-2.6.29.6/include/linux/dcache.h linux-2.6.29.6-new/include/linux/dcache.h
--- linux-2.6.29.6/include/linux/dcache.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/include/linux/dcache.h	2009-07-19 13:43:39.885045159 -0400
@@ -112,7 +112,7 @@ struct dentry {
 	struct list_head d_subdirs;	/* our children */
 	struct list_head d_alias;	/* inode alias list */
 	unsigned long d_time;		/* used by d_revalidate */
-	struct dentry_operations *d_op;
+	const struct dentry_operations *d_op;
 	struct super_block *d_sb;	/* The root of the dentry tree */
 	void *d_fsdata;			/* fs-specific data */
 
diff -urNp linux-2.6.29.6/include/linux/fs.h linux-2.6.29.6-new/include/linux/fs.h
--- linux-2.6.29.6/include/linux/fs.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/include/linux/fs.h	2009-07-19 10:28:36.513152513 -0400
@@ -2207,7 +2207,7 @@ static int __fops ## _open(struct inode 
 	__simple_attr_check_format(__fmt, 0ull);			\
 	return simple_attr_open(inode, file, __get, __set, __fmt);	\
 }									\
-static struct file_operations __fops = {				\
+static const struct file_operations __fops = {				\
 	.owner	 = THIS_MODULE,						\
 	.open	 = __fops ## _open,					\
 	.release = simple_attr_release,					\
diff -urNp linux-2.6.29.6/include/linux/hugetlb.h linux-2.6.29.6-new/include/linux/hugetlb.h
--- linux-2.6.29.6/include/linux/hugetlb.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/include/linux/hugetlb.h	2009-07-19 10:31:18.702076781 -0400
@@ -138,7 +138,7 @@ static inline struct hugetlbfs_sb_info *
 }
 
 extern const struct file_operations hugetlbfs_file_operations;
-extern struct vm_operations_struct hugetlb_vm_ops;
+extern const struct vm_operations_struct hugetlb_vm_ops;
 struct file *hugetlb_file_setup(const char *name, size_t, int);
 int hugetlb_get_quota(struct address_space *mapping, long delta);
 void hugetlb_put_quota(struct address_space *mapping, long delta);
diff -urNp linux-2.6.29.6/include/linux/mm_types.h linux-2.6.29.6-new/include/linux/mm_types.h
--- linux-2.6.29.6/include/linux/mm_types.h	2009-07-19 12:22:46.115319201 -0400
+++ linux-2.6.29.6-new/include/linux/mm_types.h	2009-07-19 10:35:07.742230028 -0400
@@ -159,7 +159,7 @@ struct vm_area_struct {
 	struct anon_vma *anon_vma;	/* Serialized by page_table_lock */
 
 	/* Function pointers to deal with this struct. */
-	struct vm_operations_struct * vm_ops;
+	const struct vm_operations_struct * vm_ops;
 
 	/* Information about our backing store: */
 	unsigned long vm_pgoff;		/* Offset (within vm_file) in PAGE_SIZE
diff -urNp linux-2.6.29.6/include/linux/nfsd/nfsd.h linux-2.6.29.6-new/include/linux/nfsd/nfsd.h
--- linux-2.6.29.6/include/linux/nfsd/nfsd.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/include/linux/nfsd/nfsd.h	2009-07-19 10:39:33.460034591 -0400
@@ -56,7 +56,7 @@ extern struct svc_version	nfsd_version2,
 extern struct mutex		nfsd_mutex;
 extern struct svc_serv		*nfsd_serv;
 
-extern struct seq_operations nfs_exports_op;
+extern const struct seq_operations nfs_exports_op;
 
 /*
  * Function prototypes.
diff -urNp linux-2.6.29.6/include/linux/nfs_fs.h linux-2.6.29.6-new/include/linux/nfs_fs.h
--- linux-2.6.29.6/include/linux/nfs_fs.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/include/linux/nfs_fs.h	2009-07-19 13:56:31.811821453 -0400
@@ -415,7 +415,7 @@ extern const struct inode_operations nfs
 extern const struct inode_operations nfs3_dir_inode_operations;
 #endif /* CONFIG_NFS_V3 */
 extern const struct file_operations nfs_dir_operations;
-extern struct dentry_operations nfs_dentry_operations;
+extern const struct dentry_operations nfs_dentry_operations;
 
 extern void nfs_force_lookup_revalidate(struct inode *dir);
 extern int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fh, struct nfs_fattr *fattr);
diff -urNp linux-2.6.29.6/include/linux/nfs_xdr.h linux-2.6.29.6-new/include/linux/nfs_xdr.h
--- linux-2.6.29.6/include/linux/nfs_xdr.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/include/linux/nfs_xdr.h	2009-07-19 13:58:00.330759890 -0400
@@ -785,7 +785,7 @@ struct nfs_access_entry;
  */
 struct nfs_rpc_ops {
 	u32	version;		/* Protocol version */
-	struct dentry_operations *dentry_ops;
+	const struct dentry_operations *dentry_ops;
 	const struct inode_operations *dir_inode_ops;
 	const struct inode_operations *file_inode_ops;
 
diff -urNp linux-2.6.29.6/include/linux/sonet.h linux-2.6.29.6-new/include/linux/sonet.h
--- linux-2.6.29.6/include/linux/sonet.h	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/include/linux/sonet.h	2009-07-19 00:07:57.899740017 -0400
@@ -61,7 +61,7 @@ struct sonet_stats {
 #include <asm/atomic.h>
 
 struct k_sonet_stats {
-#define __HANDLE_ITEM(i) atomic_t i
+#define __HANDLE_ITEM(i) atomic_unchecked_t i
 	__SONET_ITEMS
 #undef __HANDLE_ITEM
 };
diff -urNp linux-2.6.29.6/ipc/mqueue.c linux-2.6.29.6-new/ipc/mqueue.c
--- linux-2.6.29.6/ipc/mqueue.c	2009-07-19 12:22:46.395860652 -0400
+++ linux-2.6.29.6-new/ipc/mqueue.c	2009-07-19 14:00:51.021257301 -0400
@@ -90,7 +90,7 @@ struct mqueue_inode_info {
 
 static const struct inode_operations mqueue_dir_inode_operations;
 static const struct file_operations mqueue_file_operations;
-static struct super_operations mqueue_super_ops;
+static const struct super_operations mqueue_super_ops;
 static void remove_notification(struct mqueue_inode_info *info);
 
 static spinlock_t mq_lock;
@@ -1190,7 +1190,7 @@ static const struct file_operations mque
 	.read = mqueue_read_file,
 };
 
-static struct super_operations mqueue_super_ops = {
+static const struct super_operations mqueue_super_ops = {
 	.alloc_inode = mqueue_alloc_inode,
 	.destroy_inode = mqueue_destroy_inode,
 	.statfs = simple_statfs,
diff -urNp linux-2.6.29.6/ipc/shm.c linux-2.6.29.6-new/ipc/shm.c
--- linux-2.6.29.6/ipc/shm.c	2009-07-19 12:22:46.397784784 -0400
+++ linux-2.6.29.6-new/ipc/shm.c	2009-07-19 00:24:04.475033905 -0400
@@ -54,7 +54,7 @@ struct shm_file_data {
 #define shm_file_data(file) (*((struct shm_file_data **)&(file)->private_data))
 
 static const struct file_operations shm_file_operations;
-static struct vm_operations_struct shm_vm_ops;
+static const struct vm_operations_struct shm_vm_ops;
 
 #define shm_ids(ns)	((ns)->ids[IPC_SHM_IDS])
 
@@ -321,7 +321,7 @@ static const struct file_operations shm_
 	.get_unmapped_area	= shm_get_unmapped_area,
 };
 
-static struct vm_operations_struct shm_vm_ops = {
+static const struct vm_operations_struct shm_vm_ops = {
 	.open	= shm_open,	/* callback for a new vm-area open */
 	.close	= shm_close,	/* callback for when the vm-area is released */
 	.fault	= shm_fault,
diff -urNp linux-2.6.29.6/ipc/util.c linux-2.6.29.6-new/ipc/util.c
--- linux-2.6.29.6/ipc/util.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/ipc/util.c	2009-07-19 00:27:05.680037419 -0400
@@ -951,7 +951,7 @@ static int sysvipc_proc_show(struct seq_
 	return iface->show(s, it);
 }
 
-static struct seq_operations sysvipc_proc_seqops = {
+static const struct seq_operations sysvipc_proc_seqops = {
 	.start = sysvipc_proc_start,
 	.stop  = sysvipc_proc_stop,
 	.next  = sysvipc_proc_next,
diff -urNp linux-2.6.29.6/kernel/cgroup.c linux-2.6.29.6-new/kernel/cgroup.c
--- linux-2.6.29.6/kernel/cgroup.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/cgroup.c	2009-07-19 14:00:51.045187819 -0400
@@ -560,8 +560,8 @@ void cgroup_unlock(void)
 static int cgroup_mkdir(struct inode *dir, struct dentry *dentry, int mode);
 static int cgroup_rmdir(struct inode *unused_dir, struct dentry *dentry);
 static int cgroup_populate_dir(struct cgroup *cgrp);
-static struct inode_operations cgroup_dir_inode_operations;
-static struct file_operations proc_cgroupstats_operations;
+static const struct inode_operations cgroup_dir_inode_operations;
+static const struct file_operations proc_cgroupstats_operations;
 
 static struct backing_dev_info cgroup_backing_dev_info = {
 	.capabilities	= BDI_CAP_NO_ACCT_AND_WRITEBACK,
@@ -872,7 +872,7 @@ static int cgroup_remount(struct super_b
 	return ret;
 }
 
-static struct super_operations cgroup_ops = {
+static const struct super_operations cgroup_ops = {
 	.statfs = simple_statfs,
 	.drop_inode = generic_delete_inode,
 	.show_options = cgroup_show_options,
@@ -1550,7 +1550,7 @@ static int cgroup_seqfile_release(struct
 	return single_release(inode, file);
 }
 
-static struct file_operations cgroup_seqfile_operations = {
+static const struct file_operations cgroup_seqfile_operations = {
 	.read = seq_read,
 	.write = cgroup_file_write,
 	.llseek = seq_lseek,
@@ -1609,7 +1609,7 @@ static int cgroup_rename(struct inode *o
 	return simple_rename(old_dir, old_dentry, new_dir, new_dentry);
 }
 
-static struct file_operations cgroup_file_operations = {
+static const struct file_operations cgroup_file_operations = {
 	.read = cgroup_file_read,
 	.write = cgroup_file_write,
 	.llseek = generic_file_llseek,
@@ -1617,7 +1617,7 @@ static struct file_operations cgroup_fil
 	.release = cgroup_file_release,
 };
 
-static struct inode_operations cgroup_dir_inode_operations = {
+static const struct inode_operations cgroup_dir_inode_operations = {
 	.lookup = simple_lookup,
 	.mkdir = cgroup_mkdir,
 	.rmdir = cgroup_rmdir,
@@ -2171,7 +2171,7 @@ static int cgroup_tasks_show(struct seq_
 	return seq_printf(s, "%d\n", *(int *)v);
 }
 
-static struct seq_operations cgroup_tasks_seq_operations = {
+static const struct seq_operations cgroup_tasks_seq_operations = {
 	.start = cgroup_tasks_start,
 	.stop = cgroup_tasks_stop,
 	.next = cgroup_tasks_next,
@@ -2201,7 +2201,7 @@ static int cgroup_tasks_release(struct i
 	return seq_release(inode, file);
 }
 
-static struct file_operations cgroup_tasks_operations = {
+static const struct file_operations cgroup_tasks_operations = {
 	.read = seq_read,
 	.llseek = seq_lseek,
 	.write = cgroup_file_write,
@@ -2796,7 +2796,7 @@ static int cgroup_open(struct inode *ino
 	return single_open(file, proc_cgroup_show, pid);
 }
 
-struct file_operations proc_cgroup_operations = {
+const struct file_operations proc_cgroup_operations = {
 	.open		= cgroup_open,
 	.read		= seq_read,
 	.llseek		= seq_lseek,
@@ -2825,7 +2825,7 @@ static int cgroupstats_open(struct inode
 	return single_open(file, proc_cgroupstats_show, NULL);
 }
 
-static struct file_operations proc_cgroupstats_operations = {
+static const struct file_operations proc_cgroupstats_operations = {
 	.open = cgroupstats_open,
 	.read = seq_read,
 	.llseek = seq_lseek,
diff -urNp linux-2.6.29.6/kernel/kprobes.c linux-2.6.29.6-new/kernel/kprobes.c
--- linux-2.6.29.6/kernel/kprobes.c	2009-07-19 12:22:46.502994577 -0400
+++ linux-2.6.29.6-new/kernel/kprobes.c	2009-07-19 00:27:05.864066019 -0400
@@ -1246,7 +1246,7 @@ static int __kprobes show_kprobe_addr(st
 	return 0;
 }
 
-static struct seq_operations kprobes_seq_ops = {
+static const struct seq_operations kprobes_seq_ops = {
 	.start = kprobe_seq_start,
 	.next  = kprobe_seq_next,
 	.stop  = kprobe_seq_stop,
@@ -1258,7 +1258,7 @@ static int __kprobes kprobes_open(struct
 	return seq_open(filp, &kprobes_seq_ops);
 }
 
-static struct file_operations debugfs_kprobes_operations = {
+static const struct file_operations debugfs_kprobes_operations = {
 	.open           = kprobes_open,
 	.read           = seq_read,
 	.llseek         = seq_lseek,
@@ -1371,7 +1371,7 @@ static ssize_t write_enabled_file_bool(s
 	return count;
 }
 
-static struct file_operations fops_kp = {
+static const struct file_operations fops_kp = {
 	.read =         read_enabled_file_bool,
 	.write =        write_enabled_file_bool,
 };
diff -urNp linux-2.6.29.6/kernel/latencytop.c linux-2.6.29.6-new/kernel/latencytop.c
--- linux-2.6.29.6/kernel/latencytop.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/latencytop.c	2009-07-19 00:19:00.311768578 -0400
@@ -223,7 +223,7 @@ static int lstats_open(struct inode *ino
 	return single_open(filp, lstats_show, NULL);
 }
 
-static struct file_operations lstats_fops = {
+static const struct file_operations lstats_fops = {
 	.open		= lstats_open,
 	.read		= seq_read,
 	.write		= lstats_write,
diff -urNp linux-2.6.29.6/kernel/lockdep_proc.c linux-2.6.29.6-new/kernel/lockdep_proc.c
--- linux-2.6.29.6/kernel/lockdep_proc.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/lockdep_proc.c	2009-07-19 00:27:05.905086353 -0400
@@ -666,7 +666,7 @@ static int ls_show(struct seq_file *m, v
 	return 0;
 }
 
-static struct seq_operations lockstat_ops = {
+static const struct seq_operations lockstat_ops = {
 	.start	= ls_start,
 	.next	= ls_next,
 	.stop	= ls_stop,
diff -urNp linux-2.6.29.6/kernel/rcupreempt_trace.c linux-2.6.29.6-new/kernel/rcupreempt_trace.c
--- linux-2.6.29.6/kernel/rcupreempt_trace.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/rcupreempt_trace.c	2009-07-19 00:19:00.387768680 -0400
@@ -261,17 +261,17 @@ static ssize_t rcuctrs_read(struct file 
 	return bcount;
 }
 
-static struct file_operations rcustats_fops = {
+static const struct file_operations rcustats_fops = {
 	.owner = THIS_MODULE,
 	.read = rcustats_read,
 };
 
-static struct file_operations rcugp_fops = {
+static const struct file_operations rcugp_fops = {
 	.owner = THIS_MODULE,
 	.read = rcugp_read,
 };
 
-static struct file_operations rcuctrs_fops = {
+static const struct file_operations rcuctrs_fops = {
 	.owner = THIS_MODULE,
 	.read = rcuctrs_read,
 };
diff -urNp linux-2.6.29.6/kernel/rcutree_trace.c linux-2.6.29.6-new/kernel/rcutree_trace.c
--- linux-2.6.29.6/kernel/rcutree_trace.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/rcutree_trace.c	2009-07-19 00:19:00.470641313 -0400
@@ -88,7 +88,7 @@ static int rcudata_open(struct inode *in
 	return single_open(file, show_rcudata, NULL);
 }
 
-static struct file_operations rcudata_fops = {
+static const struct file_operations rcudata_fops = {
 	.owner = THIS_MODULE,
 	.open = rcudata_open,
 	.read = seq_read,
@@ -138,7 +138,7 @@ static int rcudata_csv_open(struct inode
 	return single_open(file, show_rcudata_csv, NULL);
 }
 
-static struct file_operations rcudata_csv_fops = {
+static const struct file_operations rcudata_csv_fops = {
 	.owner = THIS_MODULE,
 	.open = rcudata_csv_open,
 	.read = seq_read,
@@ -185,7 +185,7 @@ static int rcuhier_open(struct inode *in
 	return single_open(file, show_rcuhier, NULL);
 }
 
-static struct file_operations rcuhier_fops = {
+static const struct file_operations rcuhier_fops = {
 	.owner = THIS_MODULE,
 	.open = rcuhier_open,
 	.read = seq_read,
@@ -207,7 +207,7 @@ static int rcugp_open(struct inode *inod
 	return single_open(file, show_rcugp, NULL);
 }
 
-static struct file_operations rcugp_fops = {
+static const struct file_operations rcugp_fops = {
 	.owner = THIS_MODULE,
 	.open = rcugp_open,
 	.read = seq_read,
diff -urNp linux-2.6.29.6/kernel/relay.c linux-2.6.29.6-new/kernel/relay.c
--- linux-2.6.29.6/kernel/relay.c	2009-07-19 12:22:46.540102479 -0400
+++ linux-2.6.29.6-new/kernel/relay.c	2009-07-19 00:24:04.495651561 -0400
@@ -60,7 +60,7 @@ static int relay_buf_fault(struct vm_are
 /*
  * vm_ops for relay file mappings.
  */
-static struct vm_operations_struct relay_file_mmap_ops = {
+static const struct vm_operations_struct relay_file_mmap_ops = {
 	.fault = relay_buf_fault,
 	.close = relay_file_mmap_close,
 };
diff -urNp linux-2.6.29.6/kernel/sched.c linux-2.6.29.6-new/kernel/sched.c
--- linux-2.6.29.6/kernel/sched.c	2009-07-19 12:22:46.670821379 -0400
+++ linux-2.6.29.6-new/kernel/sched.c	2009-07-19 00:19:00.608895125 -0400
@@ -801,7 +801,7 @@ static int sched_feat_open(struct inode 
 	return single_open(filp, sched_feat_show, NULL);
 }
 
-static struct file_operations sched_feat_fops = {
+static const struct file_operations sched_feat_fops = {
 	.open		= sched_feat_open,
 	.write		= sched_feat_write,
 	.read		= seq_read,
diff -urNp linux-2.6.29.6/kernel/time/timer_list.c linux-2.6.29.6-new/kernel/time/timer_list.c
--- linux-2.6.29.6/kernel/time/timer_list.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/time/timer_list.c	2009-07-19 00:19:00.678768533 -0400
@@ -275,7 +275,7 @@ static int timer_list_open(struct inode 
 	return single_open(filp, timer_list_show, NULL);
 }
 
-static struct file_operations timer_list_fops = {
+static const struct file_operations timer_list_fops = {
 	.open		= timer_list_open,
 	.read		= seq_read,
 	.llseek		= seq_lseek,
diff -urNp linux-2.6.29.6/kernel/time/timer_stats.c linux-2.6.29.6-new/kernel/time/timer_stats.c
--- linux-2.6.29.6/kernel/time/timer_stats.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/time/timer_stats.c	2009-07-19 00:19:00.755655138 -0400
@@ -395,7 +395,7 @@ static int tstats_open(struct inode *ino
 	return single_open(filp, tstats_show, NULL);
 }
 
-static struct file_operations tstats_fops = {
+static const struct file_operations tstats_fops = {
 	.open		= tstats_open,
 	.read		= seq_read,
 	.write		= tstats_write,
diff -urNp linux-2.6.29.6/kernel/trace/ftrace.c linux-2.6.29.6-new/kernel/trace/ftrace.c
--- linux-2.6.29.6/kernel/trace/ftrace.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/trace/ftrace.c	2009-07-19 00:27:05.924139230 -0400
@@ -873,7 +873,7 @@ static int t_show(struct seq_file *m, vo
 	return 0;
 }
 
-static struct seq_operations show_ftrace_seq_ops = {
+static const struct seq_operations show_ftrace_seq_ops = {
 	.start = t_start,
 	.next = t_next,
 	.stop = t_stop,
@@ -1303,21 +1303,21 @@ ftrace_notrace_release(struct inode *ino
 	return ftrace_regex_release(inode, file, 0);
 }
 
-static struct file_operations ftrace_avail_fops = {
+static const struct file_operations ftrace_avail_fops = {
 	.open = ftrace_avail_open,
 	.read = seq_read,
 	.llseek = seq_lseek,
 	.release = ftrace_avail_release,
 };
 
-static struct file_operations ftrace_failures_fops = {
+static const struct file_operations ftrace_failures_fops = {
 	.open = ftrace_failures_open,
 	.read = seq_read,
 	.llseek = seq_lseek,
 	.release = ftrace_avail_release,
 };
 
-static struct file_operations ftrace_filter_fops = {
+static const struct file_operations ftrace_filter_fops = {
 	.open = ftrace_filter_open,
 	.read = ftrace_regex_read,
 	.write = ftrace_filter_write,
@@ -1325,7 +1325,7 @@ static struct file_operations ftrace_fil
 	.release = ftrace_filter_release,
 };
 
-static struct file_operations ftrace_notrace_fops = {
+static const struct file_operations ftrace_notrace_fops = {
 	.open = ftrace_notrace_open,
 	.read = ftrace_regex_read,
 	.write = ftrace_notrace_write,
@@ -1385,7 +1385,7 @@ static int g_show(struct seq_file *m, vo
 	return 0;
 }
 
-static struct seq_operations ftrace_graph_seq_ops = {
+static const struct seq_operations ftrace_graph_seq_ops = {
 	.start = g_start,
 	.next = g_next,
 	.stop = g_stop,
@@ -1840,7 +1840,7 @@ ftrace_pid_write(struct file *filp, cons
 	return cnt;
 }
 
-static struct file_operations ftrace_pid_fops = {
+static const struct file_operations ftrace_pid_fops = {
 	.read = ftrace_pid_read,
 	.write = ftrace_pid_write,
 };
diff -urNp linux-2.6.29.6/kernel/trace/Kconfig linux-2.6.29.6-new/kernel/trace/Kconfig
--- linux-2.6.29.6/kernel/trace/Kconfig	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/trace/Kconfig	2009-07-19 15:42:33.274535261 -0400
@@ -51,6 +51,7 @@ config FUNCTION_TRACER
 	bool "Kernel Function Tracer"
 	depends on HAVE_FUNCTION_TRACER
 	depends on DEBUG_KERNEL
+	depends on !PAX_KERNEXEC
 	select FRAME_POINTER
 	select KALLSYMS
 	select TRACING
@@ -237,6 +238,7 @@ config STACK_TRACER
 	bool "Trace max stack"
 	depends on HAVE_FUNCTION_TRACER
 	depends on DEBUG_KERNEL
+	depends on !PAX_KERNEXEC
 	select FUNCTION_TRACER
 	select STACKTRACE
 	select KALLSYMS
diff -urNp linux-2.6.29.6/kernel/trace/ring_buffer.c linux-2.6.29.6-new/kernel/trace/ring_buffer.c
--- linux-2.6.29.6/kernel/trace/ring_buffer.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/trace/ring_buffer.c	2009-07-19 00:19:01.017895802 -0400
@@ -2509,7 +2509,7 @@ rb_simple_write(struct file *filp, const
 	return cnt;
 }
 
-static struct file_operations rb_simple_fops = {
+static const struct file_operations rb_simple_fops = {
 	.open		= tracing_open_generic,
 	.read		= rb_simple_read,
 	.write		= rb_simple_write,
diff -urNp linux-2.6.29.6/kernel/trace/trace_branch.c linux-2.6.29.6-new/kernel/trace/trace_branch.c
--- linux-2.6.29.6/kernel/trace/trace_branch.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/trace/trace_branch.c	2009-07-19 00:27:06.017920578 -0400
@@ -267,7 +267,7 @@ static int t_show(struct seq_file *m, vo
 	return 0;
 }
 
-static struct seq_operations tracing_likely_seq_ops = {
+static const struct seq_operations tracing_likely_seq_ops = {
 	.start		= t_start,
 	.next		= t_next,
 	.stop		= t_stop,
diff -urNp linux-2.6.29.6/kernel/trace/trace.c linux-2.6.29.6-new/kernel/trace/trace.c
--- linux-2.6.29.6/kernel/trace/trace.c	2009-07-19 12:22:46.708936519 -0400
+++ linux-2.6.29.6-new/kernel/trace/trace.c	2009-07-19 00:27:06.060916800 -0400
@@ -2418,7 +2418,7 @@ static int s_show(struct seq_file *m, vo
 	return 0;
 }
 
-static struct seq_operations tracer_seq_ops = {
+static const struct seq_operations tracer_seq_ops = {
 	.start		= s_start,
 	.next		= s_next,
 	.stop		= s_stop,
@@ -2600,7 +2600,7 @@ static int t_show(struct seq_file *m, vo
 	return 0;
 }
 
-static struct seq_operations show_traces_seq_ops = {
+static const struct seq_operations show_traces_seq_ops = {
 	.start		= t_start,
 	.next		= t_next,
 	.stop		= t_stop,
@@ -2623,21 +2623,21 @@ static int show_traces_open(struct inode
 	return ret;
 }
 
-static struct file_operations tracing_fops = {
+static const struct file_operations tracing_fops = {
 	.open		= tracing_open,
 	.read		= seq_read,
 	.llseek		= seq_lseek,
 	.release	= tracing_release,
 };
 
-static struct file_operations tracing_lt_fops = {
+static const struct file_operations tracing_lt_fops = {
 	.open		= tracing_lt_open,
 	.read		= seq_read,
 	.llseek		= seq_lseek,
 	.release	= tracing_release,
 };
 
-static struct file_operations show_traces_fops = {
+static const struct file_operations show_traces_fops = {
 	.open		= show_traces_open,
 	.read		= seq_read,
 	.release	= seq_release,
@@ -2730,7 +2730,7 @@ err_unlock:
 	return err;
 }
 
-static struct file_operations tracing_cpumask_fops = {
+static const struct file_operations tracing_cpumask_fops = {
 	.open		= tracing_open_generic,
 	.read		= tracing_cpumask_read,
 	.write		= tracing_cpumask_write,
@@ -2875,7 +2875,7 @@ tracing_trace_options_write(struct file 
 	return cnt;
 }
 
-static struct file_operations tracing_iter_fops = {
+static const struct file_operations tracing_iter_fops = {
 	.open		= tracing_open_generic,
 	.read		= tracing_trace_options_read,
 	.write		= tracing_trace_options_write,
@@ -2908,7 +2908,7 @@ tracing_readme_read(struct file *filp, c
 					readme_msg, strlen(readme_msg));
 }
 
-static struct file_operations tracing_readme_fops = {
+static const struct file_operations tracing_readme_fops = {
 	.open		= tracing_open_generic,
 	.read		= tracing_readme_read,
 };
@@ -3433,38 +3433,38 @@ tracing_mark_write(struct file *filp, co
 	return cnt;
 }
 
-static struct file_operations tracing_max_lat_fops = {
+static const struct file_operations tracing_max_lat_fops = {
 	.open		= tracing_open_generic,
 	.read		= tracing_max_lat_read,
 	.write		= tracing_max_lat_write,
 };
 
-static struct file_operations tracing_ctrl_fops = {
+static const struct file_operations tracing_ctrl_fops = {
 	.open		= tracing_open_generic,
 	.read		= tracing_ctrl_read,
 	.write		= tracing_ctrl_write,
 };
 
-static struct file_operations set_tracer_fops = {
+static const struct file_operations set_tracer_fops = {
 	.open		= tracing_open_generic,
 	.read		= tracing_set_trace_read,
 	.write		= tracing_set_trace_write,
 };
 
-static struct file_operations tracing_pipe_fops = {
+static const struct file_operations tracing_pipe_fops = {
 	.open		= tracing_open_pipe,
 	.poll		= tracing_poll_pipe,
 	.read		= tracing_read_pipe,
 	.release	= tracing_release_pipe,
 };
 
-static struct file_operations tracing_entries_fops = {
+static const struct file_operations tracing_entries_fops = {
 	.open		= tracing_open_generic,
 	.read		= tracing_entries_read,
 	.write		= tracing_entries_write,
 };
 
-static struct file_operations tracing_mark_fops = {
+static const struct file_operations tracing_mark_fops = {
 	.open		= tracing_open_generic,
 	.write		= tracing_mark_write,
 };
@@ -3500,7 +3500,7 @@ tracing_read_dyn_info(struct file *filp,
 	return r;
 }
 
-static struct file_operations tracing_dyn_info_fops = {
+static const struct file_operations tracing_dyn_info_fops = {
 	.open		= tracing_open_generic,
 	.read		= tracing_read_dyn_info,
 };
diff -urNp linux-2.6.29.6/kernel/trace/trace_sysprof.c linux-2.6.29.6-new/kernel/trace/trace_sysprof.c
--- linux-2.6.29.6/kernel/trace/trace_sysprof.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/kernel/trace/trace_sysprof.c	2009-07-19 00:19:01.465882702 -0400
@@ -317,7 +317,7 @@ sysprof_sample_write(struct file *filp, 
 	return cnt;
 }
 
-static struct file_operations sysprof_sample_fops = {
+static const struct file_operations sysprof_sample_fops = {
 	.read		= sysprof_sample_read,
 	.write		= sysprof_sample_write,
 };
diff -urNp linux-2.6.29.6/lib/dynamic_printk.c linux-2.6.29.6-new/lib/dynamic_printk.c
--- linux-2.6.29.6/lib/dynamic_printk.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/lib/dynamic_printk.c	2009-07-19 00:27:06.139063045 -0400
@@ -352,7 +352,7 @@ static int pr_debug_seq_show(struct seq_
 	return 0;
 }
 
-static struct seq_operations pr_debug_seq_ops = {
+static const struct seq_operations pr_debug_seq_ops = {
 	.start = pr_debug_seq_start,
 	.next  = pr_debug_seq_next,
 	.stop  = pr_debug_seq_stop,
diff -urNp linux-2.6.29.6/Makefile linux-2.6.29.6-new/Makefile
--- linux-2.6.29.6/Makefile	2009-07-19 12:22:46.755550578 -0400
+++ linux-2.6.29.6-new/Makefile	2009-07-19 11:37:55.380411044 -0400
@@ -226,7 +226,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH"
 
 HOSTCC       = gcc
 HOSTCXX      = g++
-HOSTCFLAGS   = -Wall -W -Wno-unused -Wno-sign-compare -Wstrict-prototypes -O2 -fomit-frame-pointer
+HOSTCFLAGS   = -Wall -W -Wno-unused -Wstrict-prototypes -Wunreachable-code -O2 -fomit-frame-pointer -fno-delete-null-pointer-checks
 HOSTCXXFLAGS = -O2
 
 # Decide whether to build built-in, modular, or both.
diff -urNp linux-2.6.29.6/mm/filemap.c linux-2.6.29.6-new/mm/filemap.c
--- linux-2.6.29.6/mm/filemap.c	2009-07-19 12:22:46.766024607 -0400
+++ linux-2.6.29.6-new/mm/filemap.c	2009-07-19 00:24:04.546081163 -0400
@@ -1604,7 +1604,7 @@ page_not_uptodate:
 }
 EXPORT_SYMBOL(filemap_fault);
 
-struct vm_operations_struct generic_file_vm_ops = {
+const struct vm_operations_struct generic_file_vm_ops = {
 	.fault		= filemap_fault,
 };
 
diff -urNp linux-2.6.29.6/mm/filemap_xip.c linux-2.6.29.6-new/mm/filemap_xip.c
--- linux-2.6.29.6/mm/filemap_xip.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/mm/filemap_xip.c	2009-07-19 00:24:04.571912901 -0400
@@ -296,7 +296,7 @@ out:
 	}
 }
 
-static struct vm_operations_struct xip_file_vm_ops = {
+static const struct vm_operations_struct xip_file_vm_ops = {
 	.fault	= xip_file_fault,
 };
 
diff -urNp linux-2.6.29.6/mm/hugetlb.c linux-2.6.29.6-new/mm/hugetlb.c
--- linux-2.6.29.6/mm/hugetlb.c	2009-07-19 12:22:46.802933450 -0400
+++ linux-2.6.29.6-new/mm/hugetlb.c	2009-07-19 00:24:04.602923034 -0400
@@ -1661,7 +1661,7 @@ static int hugetlb_vm_op_fault(struct vm
 	return 0;
 }
 
-struct vm_operations_struct hugetlb_vm_ops = {
+const struct vm_operations_struct hugetlb_vm_ops = {
 	.fault = hugetlb_vm_op_fault,
 	.open = hugetlb_vm_op_open,
 	.close = hugetlb_vm_op_close,
diff -urNp linux-2.6.29.6/mm/mmap.c linux-2.6.29.6-new/mm/mmap.c
--- linux-2.6.29.6/mm/mmap.c	2009-07-19 12:22:46.823844275 -0400
+++ linux-2.6.29.6-new/mm/mmap.c	2009-07-19 00:24:04.642977527 -0400
@@ -2712,7 +2712,7 @@ static void special_mapping_close(struct
 {
 }
 
-static struct vm_operations_struct special_mapping_vmops = {
+static const struct vm_operations_struct special_mapping_vmops = {
 	.close = special_mapping_close,
 	.fault = special_mapping_fault,
 };
diff -urNp linux-2.6.29.6/mm/nommu.c linux-2.6.29.6-new/mm/nommu.c
--- linux-2.6.29.6/mm/nommu.c	2009-07-19 12:22:46.827807296 -0400
+++ linux-2.6.29.6-new/mm/nommu.c	2009-07-19 00:24:04.678147866 -0400
@@ -79,7 +79,7 @@ static struct kmem_cache *vm_region_jar;
 struct rb_root nommu_region_tree = RB_ROOT;
 DECLARE_RWSEM(nommu_region_sem);
 
-struct vm_operations_struct generic_file_vm_ops = {
+const struct vm_operations_struct generic_file_vm_ops = {
 };
 
 /*
diff -urNp linux-2.6.29.6/mm/shmem.c linux-2.6.29.6-new/mm/shmem.c
--- linux-2.6.29.6/mm/shmem.c	2009-07-19 12:22:46.832796022 -0400
+++ linux-2.6.29.6-new/mm/shmem.c	2009-07-19 00:24:04.711034042 -0400
@@ -203,7 +203,7 @@ static const struct file_operations shme
 static const struct inode_operations shmem_inode_operations;
 static const struct inode_operations shmem_dir_inode_operations;
 static const struct inode_operations shmem_special_inode_operations;
-static struct vm_operations_struct shmem_vm_ops;
+static const struct vm_operations_struct shmem_vm_ops;
 
 static struct backing_dev_info shmem_backing_dev_info  __read_mostly = {
 	.ra_pages	= 0,	/* No readahead */
@@ -2482,7 +2482,7 @@ static const struct super_operations shm
 	.put_super	= shmem_put_super,
 };
 
-static struct vm_operations_struct shmem_vm_ops = {
+static const struct vm_operations_struct shmem_vm_ops = {
 	.fault		= shmem_fault,
 #ifdef CONFIG_NUMA
 	.set_policy     = shmem_set_policy,
diff -urNp linux-2.6.29.6/net/atm/atm_misc.c linux-2.6.29.6-new/net/atm/atm_misc.c
--- linux-2.6.29.6/net/atm/atm_misc.c	2009-07-19 12:22:46.860549450 -0400
+++ linux-2.6.29.6-new/net/atm/atm_misc.c	2009-07-19 00:07:20.082679132 -0400
@@ -96,7 +96,7 @@ void sonet_copy_stats(struct k_sonet_sta
 
 void sonet_subtract_stats(struct k_sonet_stats *from,struct sonet_stats *to)
 {
-#define __HANDLE_ITEM(i) atomic_sub(to->i,&from->i)
+#define __HANDLE_ITEM(i) atomic_sub_unchecked(to->i,&from->i)
 	__SONET_ITEMS
 #undef __HANDLE_ITEM
 }
diff -urNp linux-2.6.29.6/net/ipv6/ip6mr.c linux-2.6.29.6-new/net/ipv6/ip6mr.c
--- linux-2.6.29.6/net/ipv6/ip6mr.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/net/ipv6/ip6mr.c	2009-07-19 00:27:06.158101140 -0400
@@ -204,7 +204,7 @@ static int ip6mr_vif_seq_show(struct seq
 	return 0;
 }
 
-static struct seq_operations ip6mr_vif_seq_ops = {
+static const struct seq_operations ip6mr_vif_seq_ops = {
 	.start = ip6mr_vif_seq_start,
 	.next  = ip6mr_vif_seq_next,
 	.stop  = ip6mr_vif_seq_stop,
@@ -217,7 +217,7 @@ static int ip6mr_vif_open(struct inode *
 			    sizeof(struct ipmr_vif_iter));
 }
 
-static struct file_operations ip6mr_vif_fops = {
+static const struct file_operations ip6mr_vif_fops = {
 	.owner	 = THIS_MODULE,
 	.open    = ip6mr_vif_open,
 	.read    = seq_read,
@@ -328,7 +328,7 @@ static int ipmr_mfc_seq_show(struct seq_
 	return 0;
 }
 
-static struct seq_operations ipmr_mfc_seq_ops = {
+static const struct seq_operations ipmr_mfc_seq_ops = {
 	.start = ipmr_mfc_seq_start,
 	.next  = ipmr_mfc_seq_next,
 	.stop  = ipmr_mfc_seq_stop,
@@ -341,7 +341,7 @@ static int ipmr_mfc_open(struct inode *i
 			    sizeof(struct ipmr_mfc_iter));
 }
 
-static struct file_operations ip6mr_mfc_fops = {
+static const struct file_operations ip6mr_mfc_fops = {
 	.owner	 = THIS_MODULE,
 	.open    = ipmr_mfc_open,
 	.read    = seq_read,
diff -urNp linux-2.6.29.6/net/key/af_key.c linux-2.6.29.6-new/net/key/af_key.c
--- linux-2.6.29.6/net/key/af_key.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/net/key/af_key.c	2009-07-19 00:27:06.246048045 -0400
@@ -3707,7 +3707,7 @@ static void pfkey_seq_stop(struct seq_fi
 	read_unlock(&pfkey_table_lock);
 }
 
-static struct seq_operations pfkey_seq_ops = {
+static const struct seq_operations pfkey_seq_ops = {
 	.start	= pfkey_seq_start,
 	.next	= pfkey_seq_next,
 	.stop	= pfkey_seq_stop,
@@ -3720,7 +3720,7 @@ static int pfkey_seq_open(struct inode *
 			    sizeof(struct seq_net_private));
 }
 
-static struct file_operations pfkey_proc_ops = {
+static const struct file_operations pfkey_proc_ops = {
 	.open	 = pfkey_seq_open,
 	.read	 = seq_read,
 	.llseek	 = seq_lseek,
diff -urNp linux-2.6.29.6/net/mac80211/rc80211_minstrel_debugfs.c linux-2.6.29.6-new/net/mac80211/rc80211_minstrel_debugfs.c
--- linux-2.6.29.6/net/mac80211/rc80211_minstrel_debugfs.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/net/mac80211/rc80211_minstrel_debugfs.c	2009-07-19 00:19:01.568781582 -0400
@@ -139,7 +139,7 @@ minstrel_stats_release(struct inode *ino
 	return 0;
 }
 
-static struct file_operations minstrel_stat_fops = {
+static const struct file_operations minstrel_stat_fops = {
 	.owner = THIS_MODULE,
 	.open = minstrel_stats_open,
 	.read = minstrel_stats_read,
diff -urNp linux-2.6.29.6/net/mac80211/rc80211_pid_debugfs.c linux-2.6.29.6-new/net/mac80211/rc80211_pid_debugfs.c
--- linux-2.6.29.6/net/mac80211/rc80211_pid_debugfs.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/net/mac80211/rc80211_pid_debugfs.c	2009-07-19 00:19:01.609768691 -0400
@@ -198,7 +198,7 @@ static ssize_t rate_control_pid_events_r
 
 #undef RC_PID_PRINT_BUF_SIZE
 
-static struct file_operations rc_pid_fop_events = {
+static const struct file_operations rc_pid_fop_events = {
 	.owner = THIS_MODULE,
 	.read = rate_control_pid_events_read,
 	.poll = rate_control_pid_events_poll,
diff -urNp linux-2.6.29.6/net/packet/af_packet.c linux-2.6.29.6-new/net/packet/af_packet.c
--- linux-2.6.29.6/net/packet/af_packet.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/net/packet/af_packet.c	2009-07-19 00:24:04.727974305 -0400
@@ -1741,7 +1741,7 @@ static void packet_mm_close(struct vm_ar
 		atomic_dec(&pkt_sk(sk)->mapped);
 }
 
-static struct vm_operations_struct packet_mmap_ops = {
+static const struct vm_operations_struct packet_mmap_ops = {
 	.open =	packet_mm_open,
 	.close =packet_mm_close,
 };
diff -urNp linux-2.6.29.6/net/socket.c linux-2.6.29.6-new/net/socket.c
--- linux-2.6.29.6/net/socket.c	2009-07-19 12:22:47.013927591 -0400
+++ linux-2.6.29.6-new/net/socket.c	2009-07-19 14:00:51.064239728 -0400
@@ -301,7 +301,7 @@ static int init_inodecache(void)
 	return 0;
 }
 
-static struct super_operations sockfs_ops = {
+static const struct super_operations sockfs_ops = {
 	.alloc_inode =	sock_alloc_inode,
 	.destroy_inode =sock_destroy_inode,
 	.statfs =	simple_statfs,
@@ -344,7 +344,7 @@ static char *sockfs_dname(struct dentry 
 				dentry->d_inode->i_ino);
 }
 
-static struct dentry_operations sockfs_dentry_operations = {
+static const struct dentry_operations sockfs_dentry_operations = {
 	.d_delete = sockfs_delete_dentry,
 	.d_dname  = sockfs_dname,
 };
diff -urNp linux-2.6.29.6/net/sunrpc/rpc_pipe.c linux-2.6.29.6-new/net/sunrpc/rpc_pipe.c
--- linux-2.6.29.6/net/sunrpc/rpc_pipe.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/net/sunrpc/rpc_pipe.c	2009-07-19 14:00:51.073027666 -0400
@@ -480,7 +480,7 @@ static int rpc_delete_dentry(struct dent
 	return 1;
 }
 
-static struct dentry_operations rpc_dentry_operations = {
+static const struct dentry_operations rpc_dentry_operations = {
 	.d_delete = rpc_delete_dentry,
 };
 
@@ -858,7 +858,7 @@ EXPORT_SYMBOL_GPL(rpc_unlink);
 /*
  * populate the filesystem
  */
-static struct super_operations s_ops = {
+static const struct super_operations s_ops = {
 	.alloc_inode	= rpc_alloc_inode,
 	.destroy_inode	= rpc_destroy_inode,
 	.statfs		= simple_statfs,
diff -urNp linux-2.6.29.6/net/xfrm/xfrm_proc.c linux-2.6.29.6-new/net/xfrm/xfrm_proc.c
--- linux-2.6.29.6/net/xfrm/xfrm_proc.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/net/xfrm/xfrm_proc.c	2009-07-19 00:19:01.612850796 -0400
@@ -60,7 +60,7 @@ static int xfrm_statistics_seq_open(stru
 	return single_open_net(inode, file, xfrm_statistics_seq_show);
 }
 
-static struct file_operations xfrm_statistics_seq_fops = {
+static const struct file_operations xfrm_statistics_seq_fops = {
 	.owner	 = THIS_MODULE,
 	.open	 = xfrm_statistics_seq_open,
 	.read	 = seq_read,
diff -urNp linux-2.6.29.6/samples/markers/marker-example.c linux-2.6.29.6-new/samples/markers/marker-example.c
--- linux-2.6.29.6/samples/markers/marker-example.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/samples/markers/marker-example.c	2009-07-19 00:19:01.614711638 -0400
@@ -26,7 +26,7 @@ static int my_open(struct inode *inode, 
 	return -EPERM;
 }
 
-static struct file_operations mark_ops = {
+static const struct file_operations mark_ops = {
 	.open = my_open,
 };
 
diff -urNp linux-2.6.29.6/samples/tracepoints/tracepoint-sample.c linux-2.6.29.6-new/samples/tracepoints/tracepoint-sample.c
--- linux-2.6.29.6/samples/tracepoints/tracepoint-sample.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/samples/tracepoints/tracepoint-sample.c	2009-07-19 00:19:01.617775404 -0400
@@ -28,7 +28,7 @@ static int my_open(struct inode *inode, 
 	return -EPERM;
 }
 
-static struct file_operations mark_ops = {
+static const struct file_operations mark_ops = {
 	.open = my_open,
 };
 
diff -urNp linux-2.6.29.6/security/smack/smackfs.c linux-2.6.29.6-new/security/smack/smackfs.c
--- linux-2.6.29.6/security/smack/smackfs.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/security/smack/smackfs.c	2009-07-19 00:27:06.256091402 -0400
@@ -179,7 +179,7 @@ static void load_seq_stop(struct seq_fil
 	/* No-op */
 }
 
-static struct seq_operations load_seq_ops = {
+static const struct seq_operations load_seq_ops = {
 	.start = load_seq_start,
 	.next  = load_seq_next,
 	.show  = load_seq_show,
@@ -491,7 +491,7 @@ static void cipso_seq_stop(struct seq_fi
 	/* No-op */
 }
 
-static struct seq_operations cipso_seq_ops = {
+static const struct seq_operations cipso_seq_ops = {
 	.start = cipso_seq_start,
 	.stop  = cipso_seq_stop,
 	.next  = cipso_seq_next,
@@ -675,7 +675,7 @@ static void netlbladdr_seq_stop(struct s
 	/* No-op */
 }
 
-static struct seq_operations netlbladdr_seq_ops = {
+static const struct seq_operations netlbladdr_seq_ops = {
 	.start = netlbladdr_seq_start,
 	.stop  = netlbladdr_seq_stop,
 	.next  = netlbladdr_seq_next,
diff -urNp linux-2.6.29.6/sound/usb/usx2y/us122l.c linux-2.6.29.6-new/sound/usb/usx2y/us122l.c
--- linux-2.6.29.6/sound/usb/usx2y/us122l.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/sound/usb/usx2y/us122l.c	2009-07-19 00:24:04.735127434 -0400
@@ -154,7 +154,7 @@ static void usb_stream_hwdep_vm_close(st
 	snd_printdd(KERN_DEBUG "%i\n", atomic_read(&us122l->mmap_count));
 }
 
-static struct vm_operations_struct usb_stream_hwdep_vm_ops = {
+static const struct vm_operations_struct usb_stream_hwdep_vm_ops = {
 	.open = usb_stream_hwdep_vm_open,
 	.fault = usb_stream_hwdep_vm_fault,
 	.close = usb_stream_hwdep_vm_close,
diff -urNp linux-2.6.29.6/sound/usb/usx2y/usX2Yhwdep.c linux-2.6.29.6-new/sound/usb/usx2y/usX2Yhwdep.c
--- linux-2.6.29.6/sound/usb/usx2y/usX2Yhwdep.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/sound/usb/usx2y/usX2Yhwdep.c	2009-07-19 00:24:04.739124332 -0400
@@ -56,7 +56,7 @@ static int snd_us428ctls_vm_fault(struct
 	return 0;
 }
 
-static struct vm_operations_struct us428ctls_vm_ops = {
+static const struct vm_operations_struct us428ctls_vm_ops = {
 	.fault = snd_us428ctls_vm_fault,
 };
 
diff -urNp linux-2.6.29.6/sound/usb/usx2y/usx2yhwdeppcm.c linux-2.6.29.6-new/sound/usb/usx2y/usx2yhwdeppcm.c
--- linux-2.6.29.6/sound/usb/usx2y/usx2yhwdeppcm.c	2009-07-02 19:41:20.000000000 -0400
+++ linux-2.6.29.6-new/sound/usb/usx2y/usx2yhwdeppcm.c	2009-07-19 00:24:04.747102036 -0400
@@ -697,7 +697,7 @@ static int snd_usX2Y_hwdep_pcm_vm_fault(
 }
 
 
-static struct vm_operations_struct snd_usX2Y_hwdep_pcm_vm_ops = {
+static const struct vm_operations_struct snd_usX2Y_hwdep_pcm_vm_ops = {
 	.open = snd_usX2Y_hwdep_pcm_vm_open,
 	.close = snd_usX2Y_hwdep_pcm_vm_close,
 	.fault = snd_usX2Y_hwdep_pcm_vm_fault,
diff -urNp linux-2.6.29.6/virt/kvm/kvm_main.c linux-2.6.29.6-new/virt/kvm/kvm_main.c
--- linux-2.6.29.6/virt/kvm/kvm_main.c	2009-07-19 12:22:47.139967185 -0400
+++ linux-2.6.29.6-new/virt/kvm/kvm_main.c	2009-07-19 14:41:54.361046785 -0400
@@ -1545,7 +1545,7 @@ static int kvm_vcpu_fault(struct vm_area
 	return 0;
 }
 
-static struct vm_operations_struct kvm_vcpu_vm_ops = {
+static const struct vm_operations_struct kvm_vcpu_vm_ops = {
 	.fault = kvm_vcpu_fault,
 };
 
@@ -1563,7 +1563,11 @@ static int kvm_vcpu_release(struct inode
 	return 0;
 }
 
+#ifdef CONFIG_PAX_KERNEXEC
+static const struct file_operations kvm_vcpu_fops = {
+#else
 static struct file_operations kvm_vcpu_fops = {
+#endif
 	.release        = kvm_vcpu_release,
 	.unlocked_ioctl = kvm_vcpu_ioctl,
 	.compat_ioctl   = kvm_vcpu_ioctl,
@@ -1960,7 +1964,7 @@ static int kvm_vm_fault(struct vm_area_s
 	return 0;
 }
 
-static struct vm_operations_struct kvm_vm_vm_ops = {
+static const struct vm_operations_struct kvm_vm_vm_ops = {
 	.fault = kvm_vm_fault,
 };
 
@@ -1970,7 +1974,11 @@ static int kvm_vm_mmap(struct file *file
 	return 0;
 }
 
+#ifdef CONFIG_PAX_KERNEXEC
+static const struct file_operations kvm_vm_fops = {
+#else
 static struct file_operations kvm_vm_fops = {
+#endif
 	.release        = kvm_vm_release,
 	.unlocked_ioctl = kvm_vm_ioctl,
 	.compat_ioctl   = kvm_vm_ioctl,
@@ -2050,7 +2058,11 @@ out:
 	return r;
 }
 
+#ifdef CONFIG_PAX_KERNEXEC
+static const struct file_operations kvm_chardev_ops = {
+#else
 static struct file_operations kvm_chardev_ops = {
+#endif
 	.unlocked_ioctl = kvm_dev_ioctl,
 	.compat_ioctl   = kvm_dev_ioctl,
 };
@@ -2221,7 +2233,7 @@ static int vcpu_stat_get(void *_offset, 
 
 DEFINE_SIMPLE_ATTRIBUTE(vcpu_stat_fops, vcpu_stat_get, NULL, "%llu\n");
 
-static struct file_operations *stat_fops[] = {
+static const struct file_operations *stat_fops[] = {
 	[KVM_STAT_VCPU] = &vcpu_stat_fops,
 	[KVM_STAT_VM]   = &vm_stat_fops,
 };
@@ -2355,9 +2367,25 @@ int kvm_init(const void *opaque, unsigne
 		goto out_free_5;
 	}
 
+#ifdef CONFIG_PAX_KERNEXEC
+	{
+		unsigned long cr0;
+		volatile struct module **ptr;
+
+		pax_open_kernel(cr0);
+		ptr = (volatile struct module **)&kvm_chardev_ops.owner;
+		*ptr = module;
+		ptr = (volatile struct module **)&kvm_vm_fops.owner;
+		*ptr = module;
+		ptr = (volatile struct module **)&kvm_vcpu_fops.owner;
+		*ptr = module;
+		pax_close_kernel(cr0);
+	}
+#else
 	kvm_chardev_ops.owner = module;
 	kvm_vm_fops.owner = module;
 	kvm_vcpu_fops.owner = module;
+#endif
 
 	r = misc_register(&kvm_dev);
 	if (r) {
