summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2017-10-17 22:04:42 -0400
committerJessica Yu <jeyu@kernel.org>2017-10-31 10:30:37 -0400
commite4dca7b7aa08b22893c45485d222b5807c1375ae (patch)
treeb78ba1697b14cf171f053732a8d6b544cfb45891
parentb2f270e8747387335d80428c576118e7d87f69cc (diff)
treewide: Fix function prototypes for module_param_call()
Several function prototypes for the set/get functions defined by module_param_call() have a slightly wrong argument types. This fixes those in an effort to clean up the calls when running under type-enforced compiler instrumentation for CFI. This is the result of running the following semantic patch: @match_module_param_call_function@ declarer name module_param_call; identifier _name, _set_func, _get_func; expression _arg, _mode; @@ module_param_call(_name, _set_func, _get_func, _arg, _mode); @fix_set_prototype depends on match_module_param_call_function@ identifier match_module_param_call_function._set_func; identifier _val, _param; type _val_type, _param_type; @@ int _set_func( -_val_type _val +const char * _val , -_param_type _param +const struct kernel_param * _param ) { ... } @fix_get_prototype depends on match_module_param_call_function@ identifier match_module_param_call_function._get_func; identifier _val, _param; type _val_type, _param_type; @@ int _get_func( -_val_type _val +char * _val , -_param_type _param +const struct kernel_param * _param ) { ... } Two additional by-hand changes are included for places where the above Coccinelle script didn't notice them: drivers/platform/x86/thinkpad_acpi.c fs/lockd/svc.c Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Jessica Yu <jeyu@kernel.org>
-rw-r--r--arch/powerpc/platforms/pseries/cmm.c2
-rw-r--r--arch/x86/oprofile/nmi_int.c2
-rw-r--r--drivers/acpi/button.c6
-rw-r--r--drivers/acpi/ec.c6
-rw-r--r--drivers/acpi/sysfs.c8
-rw-r--r--drivers/android/binder.c2
-rw-r--r--drivers/char/ipmi/ipmi_poweroff.c2
-rw-r--r--drivers/char/ipmi/ipmi_si_intf.c4
-rw-r--r--drivers/edac/edac_mc_sysfs.c2
-rw-r--r--drivers/edac/edac_module.c3
-rw-r--r--drivers/hid/hid-magicmouse.c3
-rw-r--r--drivers/ide/ide.c4
-rw-r--r--drivers/infiniband/hw/qib/qib_iba7322.c4
-rw-r--r--drivers/infiniband/ulp/srpt/ib_srpt.c2
-rw-r--r--drivers/isdn/hardware/mISDN/avmfritz.c2
-rw-r--r--drivers/isdn/hardware/mISDN/mISDNinfineon.c2
-rw-r--r--drivers/isdn/hardware/mISDN/netjet.c2
-rw-r--r--drivers/isdn/hardware/mISDN/speedfax.c2
-rw-r--r--drivers/isdn/hardware/mISDN/w6692.c2
-rw-r--r--drivers/md/md.c6
-rw-r--r--drivers/media/pci/tw686x/tw686x-core.c4
-rw-r--r--drivers/media/usb/uvc/uvc_driver.c4
-rw-r--r--drivers/message/fusion/mptbase.c4
-rw-r--r--drivers/misc/kgdbts.c3
-rw-r--r--drivers/mtd/devices/block2mtd.c2
-rw-r--r--drivers/mtd/devices/phram.c2
-rw-r--r--drivers/mtd/ubi/build.c2
-rw-r--r--drivers/pci/pcie/aspm.c5
-rw-r--r--drivers/platform/x86/thinkpad_acpi.c2
-rw-r--r--drivers/scsi/fcoe/fcoe_transport.c20
-rw-r--r--drivers/scsi/mpt3sas/mpt3sas_base.c2
-rw-r--r--drivers/scsi/mpt3sas/mpt3sas_scsih.c2
-rw-r--r--drivers/tty/serial/kgdboc.c3
-rw-r--r--fs/fuse/inode.c4
-rw-r--r--fs/lockd/svc.c2
-rw-r--r--fs/ocfs2/dlmfs/dlmfs.c4
-rw-r--r--include/net/netfilter/nf_conntrack.h2
-rw-r--r--net/netfilter/nf_conntrack_core.c2
-rw-r--r--net/netfilter/nf_nat_ftp.c2
-rw-r--r--net/netfilter/nf_nat_irc.c2
-rw-r--r--net/sunrpc/svc.c4
-rw-r--r--security/apparmor/lsm.c16
42 files changed, 87 insertions, 72 deletions
diff --git a/arch/powerpc/platforms/pseries/cmm.c b/arch/powerpc/platforms/pseries/cmm.c
index 4ac419c7eb4c..560aefde06c0 100644
--- a/arch/powerpc/platforms/pseries/cmm.c
+++ b/arch/powerpc/platforms/pseries/cmm.c
@@ -742,7 +742,7 @@ static void cmm_exit(void)
742 * Return value: 742 * Return value:
743 * 0 on success / other on failure 743 * 0 on success / other on failure
744 **/ 744 **/
745static int cmm_set_disable(const char *val, struct kernel_param *kp) 745static int cmm_set_disable(const char *val, const struct kernel_param *kp)
746{ 746{
747 int disable = simple_strtoul(val, NULL, 10); 747 int disable = simple_strtoul(val, NULL, 10);
748 748
diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c
index ffdbc4836b4f..174c59774cc9 100644
--- a/arch/x86/oprofile/nmi_int.c
+++ b/arch/x86/oprofile/nmi_int.c
@@ -592,7 +592,7 @@ enum __force_cpu_type {
592 592
593static int force_cpu_type; 593static int force_cpu_type;
594 594
595static int set_cpu_type(const char *str, struct kernel_param *kp) 595static int set_cpu_type(const char *str, const struct kernel_param *kp)
596{ 596{
597 if (!strcmp(str, "timer")) { 597 if (!strcmp(str, "timer")) {
598 force_cpu_type = timer; 598 force_cpu_type = timer;
diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
index ef1856b15488..891b0921a307 100644
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -557,7 +557,8 @@ static int acpi_button_remove(struct acpi_device *device)
557 return 0; 557 return 0;
558} 558}
559 559
560static int param_set_lid_init_state(const char *val, struct kernel_param *kp) 560static int param_set_lid_init_state(const char *val,
561 const struct kernel_param *kp)
561{ 562{
562 int result = 0; 563 int result = 0;
563 564
@@ -575,7 +576,8 @@ static int param_set_lid_init_state(const char *val, struct kernel_param *kp)
575 return result; 576 return result;
576} 577}
577 578
578static int param_get_lid_init_state(char *buffer, struct kernel_param *kp) 579static int param_get_lid_init_state(char *buffer,
580 const struct kernel_param *kp)
579{ 581{
580 switch (lid_init_state) { 582 switch (lid_init_state) {
581 case ACPI_BUTTON_LID_INIT_OPEN: 583 case ACPI_BUTTON_LID_INIT_OPEN:
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c
index 236b14324780..ba2cebf1bb2f 100644
--- a/drivers/acpi/ec.c
+++ b/drivers/acpi/ec.c
@@ -1939,7 +1939,8 @@ static const struct dev_pm_ops acpi_ec_pm = {
1939 SET_SYSTEM_SLEEP_PM_OPS(acpi_ec_suspend, acpi_ec_resume) 1939 SET_SYSTEM_SLEEP_PM_OPS(acpi_ec_suspend, acpi_ec_resume)
1940}; 1940};
1941 1941
1942static int param_set_event_clearing(const char *val, struct kernel_param *kp) 1942static int param_set_event_clearing(const char *val,
1943 const struct kernel_param *kp)
1943{ 1944{
1944 int result = 0; 1945 int result = 0;
1945 1946
@@ -1957,7 +1958,8 @@ static int param_set_event_clearing(const char *val, struct kernel_param *kp)
1957 return result; 1958 return result;
1958} 1959}
1959 1960
1960static int param_get_event_clearing(char *buffer, struct kernel_param *kp) 1961static int param_get_event_clearing(char *buffer,
1962 const struct kernel_param *kp)
1961{ 1963{
1962 switch (ec_event_clearing) { 1964 switch (ec_event_clearing) {
1963 case ACPI_EC_EVT_TIMING_STATUS: 1965 case ACPI_EC_EVT_TIMING_STATUS:
diff --git a/drivers/acpi/sysfs.c b/drivers/acpi/sysfs.c
index 78a5a23010ab..cf2c1b2b2d64 100644
--- a/drivers/acpi/sysfs.c
+++ b/drivers/acpi/sysfs.c
@@ -229,7 +229,8 @@ module_param_cb(trace_method_name, &param_ops_trace_method, &trace_method_name,
229module_param_cb(trace_debug_layer, &param_ops_trace_attrib, &acpi_gbl_trace_dbg_layer, 0644); 229module_param_cb(trace_debug_layer, &param_ops_trace_attrib, &acpi_gbl_trace_dbg_layer, 0644);
230module_param_cb(trace_debug_level, &param_ops_trace_attrib, &acpi_gbl_trace_dbg_level, 0644); 230module_param_cb(trace_debug_level, &param_ops_trace_attrib, &acpi_gbl_trace_dbg_level, 0644);
231 231
232static int param_set_trace_state(const char *val, struct kernel_param *kp) 232static int param_set_trace_state(const char *val,
233 const struct kernel_param *kp)
233{ 234{
234 acpi_status status; 235 acpi_status status;
235 const char *method = trace_method_name; 236 const char *method = trace_method_name;
@@ -265,7 +266,7 @@ static int param_set_trace_state(const char *val, struct kernel_param *kp)
265 return 0; 266 return 0;
266} 267}
267 268
268static int param_get_trace_state(char *buffer, struct kernel_param *kp) 269static int param_get_trace_state(char *buffer, const struct kernel_param *kp)
269{ 270{
270 if (!(acpi_gbl_trace_flags & ACPI_TRACE_ENABLED)) 271 if (!(acpi_gbl_trace_flags & ACPI_TRACE_ENABLED))
271 return sprintf(buffer, "disable"); 272 return sprintf(buffer, "disable");
@@ -294,7 +295,8 @@ MODULE_PARM_DESC(aml_debug_output,
294 "To enable/disable the ACPI Debug Object output."); 295 "To enable/disable the ACPI Debug Object output.");
295 296
296/* /sys/module/acpi/parameters/acpica_version */ 297/* /sys/module/acpi/parameters/acpica_version */
297static int param_get_acpica_version(char *buffer, struct kernel_param *kp) 298static int param_get_acpica_version(char *buffer,
299 const struct kernel_param *kp)
298{ 300{
299 int result; 301 int result;
300 302
diff --git a/drivers/android/binder.c b/drivers/android/binder.c
index 0621a95b8597..c45157d71b33 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -150,7 +150,7 @@ static DECLARE_WAIT_QUEUE_HEAD(binder_user_error_wait);
150static int binder_stop_on_user_error; 150static int binder_stop_on_user_error;
151 151
152static int binder_set_stop_on_user_error(const char *val, 152static int binder_set_stop_on_user_error(const char *val,
153 struct kernel_param *kp) 153 const struct kernel_param *kp)
154{ 154{
155 int ret; 155 int ret;
156 156
diff --git a/drivers/char/ipmi/ipmi_poweroff.c b/drivers/char/ipmi/ipmi_poweroff.c
index 9f2e3be2c5b8..676c910e990f 100644
--- a/drivers/char/ipmi/ipmi_poweroff.c
+++ b/drivers/char/ipmi/ipmi_poweroff.c
@@ -66,7 +66,7 @@ static void (*specific_poweroff_func)(ipmi_user_t user);
66/* Holds the old poweroff function so we can restore it on removal. */ 66/* Holds the old poweroff function so we can restore it on removal. */
67static void (*old_poweroff_func)(void); 67static void (*old_poweroff_func)(void);
68 68
69static int set_param_ifnum(const char *val, struct kernel_param *kp) 69static int set_param_ifnum(const char *val, const struct kernel_param *kp)
70{ 70{
71 int rv = param_set_int(val, kp); 71 int rv = param_set_int(val, kp);
72 if (rv) 72 if (rv)
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 36f47e8d06a3..d2ac66fe0645 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -1345,7 +1345,7 @@ static unsigned int num_slave_addrs;
1345#define IPMI_MEM_ADDR_SPACE 1 1345#define IPMI_MEM_ADDR_SPACE 1
1346static const char * const addr_space_to_str[] = { "i/o", "mem" }; 1346static const char * const addr_space_to_str[] = { "i/o", "mem" };
1347 1347
1348static int hotmod_handler(const char *val, struct kernel_param *kp); 1348static int hotmod_handler(const char *val, const struct kernel_param *kp);
1349 1349
1350module_param_call(hotmod, hotmod_handler, NULL, NULL, 0200); 1350module_param_call(hotmod, hotmod_handler, NULL, NULL, 0200);
1351MODULE_PARM_DESC(hotmod, "Add and remove interfaces. See" 1351MODULE_PARM_DESC(hotmod, "Add and remove interfaces. See"
@@ -1811,7 +1811,7 @@ static struct smi_info *smi_info_alloc(void)
1811 return info; 1811 return info;
1812} 1812}
1813 1813
1814static int hotmod_handler(const char *val, struct kernel_param *kp) 1814static int hotmod_handler(const char *val, const struct kernel_param *kp)
1815{ 1815{
1816 char *str = kstrdup(val, GFP_KERNEL); 1816 char *str = kstrdup(val, GFP_KERNEL);
1817 int rv; 1817 int rv;
diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c
index e4fcfa84fbd3..c70ea82c815c 100644
--- a/drivers/edac/edac_mc_sysfs.c
+++ b/drivers/edac/edac_mc_sysfs.c
@@ -50,7 +50,7 @@ int edac_mc_get_poll_msec(void)
50 return edac_mc_poll_msec; 50 return edac_mc_poll_msec;
51} 51}
52 52
53static int edac_set_poll_msec(const char *val, struct kernel_param *kp) 53static int edac_set_poll_msec(const char *val, const struct kernel_param *kp)
54{ 54{
55 unsigned long l; 55 unsigned long l;
56 int ret; 56 int ret;
diff --git a/drivers/edac/edac_module.c b/drivers/edac/edac_module.c
index 172598a27d7d..32a931d0cb71 100644
--- a/drivers/edac/edac_module.c
+++ b/drivers/edac/edac_module.c
@@ -19,7 +19,8 @@
19 19
20#ifdef CONFIG_EDAC_DEBUG 20#ifdef CONFIG_EDAC_DEBUG
21 21
22static int edac_set_debug_level(const char *buf, struct kernel_param *kp) 22static int edac_set_debug_level(const char *buf,
23 const struct kernel_param *kp)
23{ 24{
24 unsigned long val; 25 unsigned long val;
25 int ret; 26 int ret;
diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c
index 20b40ad26325..42ed887ba0be 100644
--- a/drivers/hid/hid-magicmouse.c
+++ b/drivers/hid/hid-magicmouse.c
@@ -34,7 +34,8 @@ module_param(emulate_scroll_wheel, bool, 0644);
34MODULE_PARM_DESC(emulate_scroll_wheel, "Emulate a scroll wheel"); 34MODULE_PARM_DESC(emulate_scroll_wheel, "Emulate a scroll wheel");
35 35
36static unsigned int scroll_speed = 32; 36static unsigned int scroll_speed = 32;
37static int param_set_scroll_speed(const char *val, struct kernel_param *kp) { 37static int param_set_scroll_speed(const char *val,
38 const struct kernel_param *kp) {
38 unsigned long speed; 39 unsigned long speed;
39 if (!val || kstrtoul(val, 0, &speed) || speed > 63) 40 if (!val || kstrtoul(val, 0, &speed) || speed > 63)
40 return -EINVAL; 41 return -EINVAL;
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index d127ace6aa57..6ee866fcc5dd 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -244,7 +244,7 @@ struct chs_geom {
244static unsigned int ide_disks; 244static unsigned int ide_disks;
245static struct chs_geom ide_disks_chs[MAX_HWIFS * MAX_DRIVES]; 245static struct chs_geom ide_disks_chs[MAX_HWIFS * MAX_DRIVES];
246 246
247static int ide_set_disk_chs(const char *str, struct kernel_param *kp) 247static int ide_set_disk_chs(const char *str, const struct kernel_param *kp)
248{ 248{
249 unsigned int a, b, c = 0, h = 0, s = 0, i, j = 1; 249 unsigned int a, b, c = 0, h = 0, s = 0, i, j = 1;
250 250
@@ -328,7 +328,7 @@ static void ide_dev_apply_params(ide_drive_t *drive, u8 unit)
328 328
329static unsigned int ide_ignore_cable; 329static unsigned int ide_ignore_cable;
330 330
331static int ide_set_ignore_cable(const char *s, struct kernel_param *kp) 331static int ide_set_ignore_cable(const char *s, const struct kernel_param *kp)
332{ 332{
333 int i, j = 1; 333 int i, j = 1;
334 334
diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c
index 14cadf6d6214..a45e46098914 100644
--- a/drivers/infiniband/hw/qib/qib_iba7322.c
+++ b/drivers/infiniband/hw/qib/qib_iba7322.c
@@ -150,7 +150,7 @@ static struct kparam_string kp_txselect = {
150 .string = txselect_list, 150 .string = txselect_list,
151 .maxlen = MAX_ATTEN_LEN 151 .maxlen = MAX_ATTEN_LEN
152}; 152};
153static int setup_txselect(const char *, struct kernel_param *); 153static int setup_txselect(const char *, const struct kernel_param *);
154module_param_call(txselect, setup_txselect, param_get_string, 154module_param_call(txselect, setup_txselect, param_get_string,
155 &kp_txselect, S_IWUSR | S_IRUGO); 155 &kp_txselect, S_IWUSR | S_IRUGO);
156MODULE_PARM_DESC(txselect, 156MODULE_PARM_DESC(txselect,
@@ -6169,7 +6169,7 @@ static void set_no_qsfp_atten(struct qib_devdata *dd, int change)
6169} 6169}
6170 6170
6171/* handle the txselect parameter changing */ 6171/* handle the txselect parameter changing */
6172static int setup_txselect(const char *str, struct kernel_param *kp) 6172static int setup_txselect(const char *str, const struct kernel_param *kp)
6173{ 6173{
6174 struct qib_devdata *dd; 6174 struct qib_devdata *dd;
6175 unsigned long val; 6175 unsigned long val;
diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c
index 9e8e9220f816..9612e5bdfb00 100644
--- a/drivers/infiniband/ulp/srpt/ib_srpt.c
+++ b/drivers/infiniband/ulp/srpt/ib_srpt.c
@@ -80,7 +80,7 @@ module_param(srpt_srq_size, int, 0444);
80MODULE_PARM_DESC(srpt_srq_size, 80MODULE_PARM_DESC(srpt_srq_size,
81 "Shared receive queue (SRQ) size."); 81 "Shared receive queue (SRQ) size.");
82 82
83static int srpt_get_u64_x(char *buffer, struct kernel_param *kp) 83static int srpt_get_u64_x(char *buffer, const struct kernel_param *kp)
84{ 84{
85 return sprintf(buffer, "0x%016llx", *(u64 *)kp->arg); 85 return sprintf(buffer, "0x%016llx", *(u64 *)kp->arg);
86} 86}
diff --git a/drivers/isdn/hardware/mISDN/avmfritz.c b/drivers/isdn/hardware/mISDN/avmfritz.c
index dce6632daae1..ae2b2669af1b 100644
--- a/drivers/isdn/hardware/mISDN/avmfritz.c
+++ b/drivers/isdn/hardware/mISDN/avmfritz.c
@@ -156,7 +156,7 @@ _set_debug(struct fritzcard *card)
156} 156}
157 157
158static int 158static int
159set_debug(const char *val, struct kernel_param *kp) 159set_debug(const char *val, const struct kernel_param *kp)
160{ 160{
161 int ret; 161 int ret;
162 struct fritzcard *card; 162 struct fritzcard *card;
diff --git a/drivers/isdn/hardware/mISDN/mISDNinfineon.c b/drivers/isdn/hardware/mISDN/mISDNinfineon.c
index d5bdbaf93a1a..1fc290659e94 100644
--- a/drivers/isdn/hardware/mISDN/mISDNinfineon.c
+++ b/drivers/isdn/hardware/mISDN/mISDNinfineon.c
@@ -244,7 +244,7 @@ _set_debug(struct inf_hw *card)
244} 244}
245 245
246static int 246static int
247set_debug(const char *val, struct kernel_param *kp) 247set_debug(const char *val, const struct kernel_param *kp)
248{ 248{
249 int ret; 249 int ret;
250 struct inf_hw *card; 250 struct inf_hw *card;
diff --git a/drivers/isdn/hardware/mISDN/netjet.c b/drivers/isdn/hardware/mISDN/netjet.c
index 6a6d848bd18e..89d9ba8ed535 100644
--- a/drivers/isdn/hardware/mISDN/netjet.c
+++ b/drivers/isdn/hardware/mISDN/netjet.c
@@ -111,7 +111,7 @@ _set_debug(struct tiger_hw *card)
111} 111}
112 112
113static int 113static int
114set_debug(const char *val, struct kernel_param *kp) 114set_debug(const char *val, const struct kernel_param *kp)
115{ 115{
116 int ret; 116 int ret;
117 struct tiger_hw *card; 117 struct tiger_hw *card;
diff --git a/drivers/isdn/hardware/mISDN/speedfax.c b/drivers/isdn/hardware/mISDN/speedfax.c
index 9815bb4eec9c..1f1446ed8d5f 100644
--- a/drivers/isdn/hardware/mISDN/speedfax.c
+++ b/drivers/isdn/hardware/mISDN/speedfax.c
@@ -94,7 +94,7 @@ _set_debug(struct sfax_hw *card)
94} 94}
95 95
96static int 96static int
97set_debug(const char *val, struct kernel_param *kp) 97set_debug(const char *val, const struct kernel_param *kp)
98{ 98{
99 int ret; 99 int ret;
100 struct sfax_hw *card; 100 struct sfax_hw *card;
diff --git a/drivers/isdn/hardware/mISDN/w6692.c b/drivers/isdn/hardware/mISDN/w6692.c
index d80072fef434..209036a4af3a 100644
--- a/drivers/isdn/hardware/mISDN/w6692.c
+++ b/drivers/isdn/hardware/mISDN/w6692.c
@@ -101,7 +101,7 @@ _set_debug(struct w6692_hw *card)
101} 101}
102 102
103static int 103static int
104set_debug(const char *val, struct kernel_param *kp) 104set_debug(const char *val, const struct kernel_param *kp)
105{ 105{
106 int ret; 106 int ret;
107 struct w6692_hw *card; 107 struct w6692_hw *card;
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 0ff1bbf6c90e..276c7ecedf10 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -5357,7 +5357,7 @@ static struct kobject *md_probe(dev_t dev, int *part, void *data)
5357 return NULL; 5357 return NULL;
5358} 5358}
5359 5359
5360static int add_named_array(const char *val, struct kernel_param *kp) 5360static int add_named_array(const char *val, const struct kernel_param *kp)
5361{ 5361{
5362 /* 5362 /*
5363 * val must be "md_*" or "mdNNN". 5363 * val must be "md_*" or "mdNNN".
@@ -9274,11 +9274,11 @@ static __exit void md_exit(void)
9274subsys_initcall(md_init); 9274subsys_initcall(md_init);
9275module_exit(md_exit) 9275module_exit(md_exit)
9276 9276
9277static int get_ro(char *buffer, struct kernel_param *kp) 9277static int get_ro(char *buffer, const struct kernel_param *kp)
9278{ 9278{
9279 return sprintf(buffer, "%d", start_readonly); 9279 return sprintf(buffer, "%d", start_readonly);
9280} 9280}
9281static int set_ro(const char *val, struct kernel_param *kp) 9281static int set_ro(const char *val, const struct kernel_param *kp)
9282{ 9282{
9283 return kstrtouint(val, 10, (unsigned int *)&start_readonly); 9283 return kstrtouint(val, 10, (unsigned int *)&start_readonly);
9284} 9284}
diff --git a/drivers/media/pci/tw686x/tw686x-core.c b/drivers/media/pci/tw686x/tw686x-core.c
index 336e2f9bc1b6..b762e5f0ba1d 100644
--- a/drivers/media/pci/tw686x/tw686x-core.c
+++ b/drivers/media/pci/tw686x/tw686x-core.c
@@ -72,12 +72,12 @@ static const char *dma_mode_name(unsigned int mode)
72 } 72 }
73} 73}
74 74
75static int tw686x_dma_mode_get(char *buffer, struct kernel_param *kp) 75static int tw686x_dma_mode_get(char *buffer, const struct kernel_param *kp)
76{ 76{
77 return sprintf(buffer, "%s", dma_mode_name(dma_mode)); 77 return sprintf(buffer, "%s", dma_mode_name(dma_mode));
78} 78}
79 79
80static int tw686x_dma_mode_set(const char *val, struct kernel_param *kp) 80static int tw686x_dma_mode_set(const char *val, const struct kernel_param *kp)
81{ 81{
82 if (!strcasecmp(val, dma_mode_name(TW686X_DMA_MODE_MEMCPY))) 82 if (!strcasecmp(val, dma_mode_name(TW686X_DMA_MODE_MEMCPY)))
83 dma_mode = TW686X_DMA_MODE_MEMCPY; 83 dma_mode = TW686X_DMA_MODE_MEMCPY;
diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
index 6d22b22cb35b..28b91b7d756f 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -2230,7 +2230,7 @@ static int uvc_reset_resume(struct usb_interface *intf)
2230 * Module parameters 2230 * Module parameters
2231 */ 2231 */
2232 2232
2233static int uvc_clock_param_get(char *buffer, struct kernel_param *kp) 2233static int uvc_clock_param_get(char *buffer, const struct kernel_param *kp)
2234{ 2234{
2235 if (uvc_clock_param == CLOCK_MONOTONIC) 2235 if (uvc_clock_param == CLOCK_MONOTONIC)
2236 return sprintf(buffer, "CLOCK_MONOTONIC"); 2236 return sprintf(buffer, "CLOCK_MONOTONIC");
@@ -2238,7 +2238,7 @@ static int uvc_clock_param_get(char *buffer, struct kernel_param *kp)
2238 return sprintf(buffer, "CLOCK_REALTIME"); 2238 return sprintf(buffer, "CLOCK_REALTIME");
2239} 2239}
2240 2240
2241static int uvc_clock_param_set(const char *val, struct kernel_param *kp) 2241static int uvc_clock_param_set(const char *val, const struct kernel_param *kp)
2242{ 2242{
2243 if (strncasecmp(val, "clock_", strlen("clock_")) == 0) 2243 if (strncasecmp(val, "clock_", strlen("clock_")) == 0)
2244 val += strlen("clock_"); 2244 val += strlen("clock_");
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index 84eab28665f3..7a93400eea2a 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -99,7 +99,7 @@ module_param(mpt_channel_mapping, int, 0);
99MODULE_PARM_DESC(mpt_channel_mapping, " Mapping id's to channels (default=0)"); 99MODULE_PARM_DESC(mpt_channel_mapping, " Mapping id's to channels (default=0)");
100 100
101static int mpt_debug_level; 101static int mpt_debug_level;
102static int mpt_set_debug_level(const char *val, struct kernel_param *kp); 102static int mpt_set_debug_level(const char *val, const struct kernel_param *kp);
103module_param_call(mpt_debug_level, mpt_set_debug_level, param_get_int, 103module_param_call(mpt_debug_level, mpt_set_debug_level, param_get_int,
104 &mpt_debug_level, 0600); 104 &mpt_debug_level, 0600);
105MODULE_PARM_DESC(mpt_debug_level, 105MODULE_PARM_DESC(mpt_debug_level,
@@ -242,7 +242,7 @@ pci_enable_io_access(struct pci_dev *pdev)
242 pci_write_config_word(pdev, PCI_COMMAND, command_reg); 242 pci_write_config_word(pdev, PCI_COMMAND, command_reg);
243} 243}
244 244
245static int mpt_set_debug_level(const char *val, struct kernel_param *kp) 245static int mpt_set_debug_level(const char *val, const struct kernel_param *kp)
246{ 246{
247 int ret = param_set_int(val, kp); 247 int ret = param_set_int(val, kp);
248 MPT_ADAPTER *ioc; 248 MPT_ADAPTER *ioc;
diff --git a/drivers/misc/kgdbts.c b/drivers/misc/kgdbts.c
index fc7efedbc4be..24108bfad889 100644
--- a/drivers/misc/kgdbts.c
+++ b/drivers/misc/kgdbts.c
@@ -1132,7 +1132,8 @@ static void kgdbts_put_char(u8 chr)
1132 ts.run_test(0, chr); 1132 ts.run_test(0, chr);
1133} 1133}
1134 1134
1135static int param_set_kgdbts_var(const char *kmessage, struct kernel_param *kp) 1135static int param_set_kgdbts_var(const char *kmessage,
1136 const struct kernel_param *kp)
1136{ 1137{
1137 int len = strlen(kmessage); 1138 int len = strlen(kmessage);
1138 1139
diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c
index 7c887f111a7d..62fd6905c648 100644
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
@@ -431,7 +431,7 @@ static int block2mtd_setup2(const char *val)
431} 431}
432 432
433 433
434static int block2mtd_setup(const char *val, struct kernel_param *kp) 434static int block2mtd_setup(const char *val, const struct kernel_param *kp)
435{ 435{
436#ifdef MODULE 436#ifdef MODULE
437 return block2mtd_setup2(val); 437 return block2mtd_setup2(val);
diff --git a/drivers/mtd/devices/phram.c b/drivers/mtd/devices/phram.c
index 8b66e52ca3cc..7287696a21f9 100644
--- a/drivers/mtd/devices/phram.c
+++ b/drivers/mtd/devices/phram.c
@@ -266,7 +266,7 @@ static int phram_setup(const char *val)
266 return ret; 266 return ret;
267} 267}
268 268
269static int phram_param_call(const char *val, struct kernel_param *kp) 269static int phram_param_call(const char *val, const struct kernel_param *kp)
270{ 270{
271#ifdef MODULE 271#ifdef MODULE
272 return phram_setup(val); 272 return phram_setup(val);
diff --git a/drivers/mtd/ubi/build.c b/drivers/mtd/ubi/build.c
index 842550b5712a..136ce05d2328 100644
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -1334,7 +1334,7 @@ static int bytes_str_to_int(const char *str)
1334 * This function returns zero in case of success and a negative error code in 1334 * This function returns zero in case of success and a negative error code in
1335 * case of error. 1335 * case of error.
1336 */ 1336 */
1337static int ubi_mtd_param_parse(const char *val, struct kernel_param *kp) 1337static int ubi_mtd_param_parse(const char *val, const struct kernel_param *kp)
1338{ 1338{
1339 int i, len; 1339 int i, len;
1340 struct mtd_dev_param *p; 1340 struct mtd_dev_param *p;
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 1dfa10cc566b..ca3ee0f7e61d 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -1060,7 +1060,8 @@ void pci_disable_link_state(struct pci_dev *pdev, int state)
1060} 1060}
1061EXPORT_SYMBOL(pci_disable_link_state); 1061EXPORT_SYMBOL(pci_disable_link_state);
1062 1062
1063static int pcie_aspm_set_policy(const char *val, struct kernel_param *kp) 1063static int pcie_aspm_set_policy(const char *val,
1064 const struct kernel_param *kp)
1064{ 1065{
1065 int i; 1066 int i;
1066 struct pcie_link_state *link; 1067 struct pcie_link_state *link;
@@ -1087,7 +1088,7 @@ static int pcie_aspm_set_policy(const char *val, struct kernel_param *kp)
1087 return 0; 1088 return 0;
1088} 1089}
1089 1090
1090static int pcie_aspm_get_policy(char *buffer, struct kernel_param *kp) 1091static int pcie_aspm_get_policy(char *buffer, const struct kernel_param *kp)
1091{ 1092{
1092 int i, cnt = 0; 1093 int i, cnt = 0;
1093 for (i = 0; i < ARRAY_SIZE(policy_str); i++) 1094 for (i = 0; i < ARRAY_SIZE(policy_str); i++)
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 2242d6035d9e..3887dfeafc96 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -9543,7 +9543,7 @@ static struct ibm_init_struct ibms_init[] __initdata = {
9543 }, 9543 },
9544}; 9544};
9545 9545
9546static int __init set_ibm_param(const char *val, struct kernel_param *kp) 9546static int __init set_ibm_param(const char *val, const struct kernel_param *kp)
9547{ 9547{
9548 unsigned int i; 9548 unsigned int i;
9549 struct ibm_struct *ibm; 9549 struct ibm_struct *ibm;
diff --git a/drivers/scsi/fcoe/fcoe_transport.c b/drivers/scsi/fcoe/fcoe_transport.c
index 375c536cbc68..c5eb0c468f0b 100644
--- a/drivers/scsi/fcoe/fcoe_transport.c
+++ b/drivers/scsi/fcoe/fcoe_transport.c
@@ -32,13 +32,13 @@ MODULE_AUTHOR("Open-FCoE.org");
32MODULE_DESCRIPTION("FIP discovery protocol and FCoE transport for FCoE HBAs"); 32MODULE_DESCRIPTION("FIP discovery protocol and FCoE transport for FCoE HBAs");
33MODULE_LICENSE("GPL v2"); 33MODULE_LICENSE("GPL v2");
34 34
35static int fcoe_transport_create(const char *, struct kernel_param *); 35static int fcoe_transport_create(const char *, const struct kernel_param *);
36static int fcoe_transport_destroy(const char *, struct kernel_param *); 36static int fcoe_transport_destroy(const char *, const struct kernel_param *);
37static int fcoe_transport_show(char *buffer, const struct kernel_param *kp); 37static int fcoe_transport_show(char *buffer, const struct kernel_param *kp);
38static struct fcoe_transport *fcoe_transport_lookup(struct net_device *device); 38static struct fcoe_transport *fcoe_transport_lookup(struct net_device *device);
39static struct fcoe_transport *fcoe_netdev_map_lookup(struct net_device *device); 39static struct fcoe_transport *fcoe_netdev_map_lookup(struct net_device *device);
40static int fcoe_transport_enable(const char *, struct kernel_param *); 40static int fcoe_transport_enable(const char *, const struct kernel_param *);
41static int fcoe_transport_disable(const char *, struct kernel_param *); 41static int fcoe_transport_disable(const char *, const struct kernel_param *);
42static int libfcoe_device_notification(struct notifier_block *notifier, 42static int libfcoe_device_notification(struct notifier_block *notifier,
43 ulong event, void *ptr); 43 ulong event, void *ptr);
44 44
@@ -865,7 +865,8 @@ EXPORT_SYMBOL(fcoe_ctlr_destroy_store);
865 * 865 *
866 * Returns: 0 for success 866 * Returns: 0 for success
867 */ 867 */
868static int fcoe_transport_create(const char *buffer, struct kernel_param *kp) 868static int fcoe_transport_create(const char *buffer,
869 const struct kernel_param *kp)
869{ 870{
870 int rc = -ENODEV; 871 int rc = -ENODEV;
871 struct net_device *netdev = NULL; 872 struct net_device *netdev = NULL;
@@ -930,7 +931,8 @@ out_nodev:
930 * 931 *
931 * Returns: 0 for success 932 * Returns: 0 for success
932 */ 933 */
933static int fcoe_transport_destroy(const char *buffer, struct kernel_param *kp) 934static int fcoe_transport_destroy(const char *buffer,
935 const struct kernel_param *kp)
934{ 936{
935 int rc = -ENODEV; 937 int rc = -ENODEV;
936 struct net_device *netdev = NULL; 938 struct net_device *netdev = NULL;
@@ -974,7 +976,8 @@ out_nodev:
974 * 976 *
975 * Returns: 0 for success 977 * Returns: 0 for success
976 */ 978 */
977static int fcoe_transport_disable(const char *buffer, struct kernel_param *kp) 979static int fcoe_transport_disable(const char *buffer,
980 const struct kernel_param *kp)
978{ 981{
979 int rc = -ENODEV; 982 int rc = -ENODEV;
980 struct net_device *netdev = NULL; 983 struct net_device *netdev = NULL;
@@ -1008,7 +1011,8 @@ out_nodev:
1008 * 1011 *
1009 * Returns: 0 for success 1012 * Returns: 0 for success
1010 */ 1013 */
1011static int fcoe_transport_enable(const char *buffer, struct kernel_param *kp) 1014static int fcoe_transport_enable(const char *buffer,
1015 const struct kernel_param *kp)
1012{ 1016{
1013 int rc = -ENODEV; 1017 int rc = -ENODEV;
1014 struct net_device *netdev = NULL; 1018 struct net_device *netdev = NULL;
diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c
index 87999905bca3..3d36deee8285 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -105,7 +105,7 @@ _base_get_ioc_facts(struct MPT3SAS_ADAPTER *ioc);
105 * 105 *
106 */ 106 */
107static int 107static int
108_scsih_set_fwfault_debug(const char *val, struct kernel_param *kp) 108_scsih_set_fwfault_debug(const char *val, const struct kernel_param *kp)
109{ 109{
110 int ret = param_set_int(val, kp); 110 int ret = param_set_int(val, kp);
111 struct MPT3SAS_ADAPTER *ioc; 111 struct MPT3SAS_ADAPTER *ioc;
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
index 22998cbd538f..07719da7ae4a 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
@@ -281,7 +281,7 @@ struct _scsi_io_transfer {
281 * Note: The logging levels are defined in mpt3sas_debug.h. 281 * Note: The logging levels are defined in mpt3sas_debug.h.
282 */ 282 */
283static int 283static int
284_scsih_set_debug_level(const char *val, struct kernel_param *kp) 284_scsih_set_debug_level(const char *val, const struct kernel_param *kp)
285{ 285{
286 int ret = param_set_int(val, kp); 286 int ret = param_set_int(val, kp);
287 struct MPT3SAS_ADAPTER *ioc; 287 struct MPT3SAS_ADAPTER *ioc;
diff --git a/drivers/tty/serial/kgdboc.c b/drivers/tty/serial/kgdboc.c
index a260cde743e2..5532c440bf61 100644
--- a/drivers/tty/serial/kgdboc.c
+++ b/drivers/tty/serial/kgdboc.c
@@ -245,7 +245,8 @@ static void kgdboc_put_char(u8 chr)
245 kgdb_tty_line, chr); 245 kgdb_tty_line, chr);
246} 246}
247 247
248static int param_set_kgdboc_var(const char *kmessage, struct kernel_param *kp) 248static int param_set_kgdboc_var(const char *kmessage,
249 const struct kernel_param *kp)
249{ 250{
250 int len = strlen(kmessage); 251 int len = strlen(kmessage);
251 252
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 65c88379a3a1..7d67fc150edc 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -31,7 +31,7 @@ static struct kmem_cache *fuse_inode_cachep;
31struct list_head fuse_conn_list; 31struct list_head fuse_conn_list;
32DEFINE_MUTEX(fuse_mutex); 32DEFINE_MUTEX(fuse_mutex);
33 33
34static int set_global_limit(const char *val, struct kernel_param *kp); 34static int set_global_limit(const char *val, const struct kernel_param *kp);
35 35
36unsigned max_user_bgreq; 36unsigned max_user_bgreq;
37module_param_call(max_user_bgreq, set_global_limit, param_get_uint, 37module_param_call(max_user_bgreq, set_global_limit, param_get_uint,
@@ -823,7 +823,7 @@ static void sanitize_global_limit(unsigned *limit)
823 *limit = (1 << 16) - 1; 823 *limit = (1 << 16) - 1;
824} 824}
825 825
826static int set_global_limit(const char *val, struct kernel_param *kp) 826static int set_global_limit(const char *val, const struct kernel_param *kp)
827{ 827{
828 int rv; 828 int rv;
829 829
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c
index b995bdc13976..b837fb7e290a 100644
--- a/fs/lockd/svc.c
+++ b/fs/lockd/svc.c
@@ -602,7 +602,7 @@ static struct ctl_table nlm_sysctl_root[] = {
602 */ 602 */
603 603
604#define param_set_min_max(name, type, which_strtol, min, max) \ 604#define param_set_min_max(name, type, which_strtol, min, max) \
605static int param_set_##name(const char *val, struct kernel_param *kp) \ 605static int param_set_##name(const char *val, const struct kernel_param *kp) \
606{ \ 606{ \
607 char *endp; \ 607 char *endp; \
608 __typeof__(type) num = which_strtol(val, &endp, 0); \ 608 __typeof__(type) num = which_strtol(val, &endp, 0); \
diff --git a/fs/ocfs2/dlmfs/dlmfs.c b/fs/ocfs2/dlmfs/dlmfs.c
index 9ab9e1892b5f..988137de08f5 100644
--- a/fs/ocfs2/dlmfs/dlmfs.c
+++ b/fs/ocfs2/dlmfs/dlmfs.c
@@ -88,13 +88,13 @@ struct workqueue_struct *user_dlm_worker;
88 */ 88 */
89#define DLMFS_CAPABILITIES "bast stackglue" 89#define DLMFS_CAPABILITIES "bast stackglue"
90static int param_set_dlmfs_capabilities(const char *val, 90static int param_set_dlmfs_capabilities(const char *val,
91 struct kernel_param *kp) 91 const struct kernel_param *kp)
92{ 92{
93 printk(KERN_ERR "%s: readonly parameter\n", kp->name); 93 printk(KERN_ERR "%s: readonly parameter\n", kp->name);
94 return -EINVAL; 94 return -EINVAL;
95} 95}
96static int param_get_dlmfs_capabilities(char *buffer, 96static int param_get_dlmfs_capabilities(char *buffer,
97 struct kernel_param *kp) 97 const struct kernel_param *kp)
98{ 98{
99 return strlcpy(buffer, DLMFS_CAPABILITIES, 99 return strlcpy(buffer, DLMFS_CAPABILITIES,
100 strlen(DLMFS_CAPABILITIES) + 1); 100 strlen(DLMFS_CAPABILITIES) + 1);
diff --git a/include/net/netfilter/nf_conntrack.h b/include/net/netfilter/nf_conntrack.h
index 8f3bd30511de..fd5241ce1fc9 100644
--- a/include/net/netfilter/nf_conntrack.h
+++ b/include/net/netfilter/nf_conntrack.h
@@ -284,7 +284,7 @@ static inline bool nf_ct_should_gc(const struct nf_conn *ct)
284 284
285struct kernel_param; 285struct kernel_param;
286 286
287int nf_conntrack_set_hashsize(const char *val, struct kernel_param *kp); 287int nf_conntrack_set_hashsize(const char *val, const struct kernel_param *kp);
288int nf_conntrack_hash_resize(unsigned int hashsize); 288int nf_conntrack_hash_resize(unsigned int hashsize);
289 289
290extern struct hlist_nulls_head *nf_conntrack_hash; 290extern struct hlist_nulls_head *nf_conntrack_hash;
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
index 01130392b7c0..5e50c54e1318 100644
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -1940,7 +1940,7 @@ int nf_conntrack_hash_resize(unsigned int hashsize)
1940 return 0; 1940 return 0;
1941} 1941}
1942 1942
1943int nf_conntrack_set_hashsize(const char *val, struct kernel_param *kp) 1943int nf_conntrack_set_hashsize(const char *val, const struct kernel_param *kp)
1944{ 1944{
1945 unsigned int hashsize; 1945 unsigned int hashsize;
1946 int rc; 1946 int rc;
diff --git a/net/netfilter/nf_nat_ftp.c b/net/netfilter/nf_nat_ftp.c
index e84a578dbe35..d76afafdc699 100644
--- a/net/netfilter/nf_nat_ftp.c
+++ b/net/netfilter/nf_nat_ftp.c
@@ -134,7 +134,7 @@ static int __init nf_nat_ftp_init(void)
134} 134}
135 135
136/* Prior to 2.6.11, we had a ports param. No longer, but don't break users. */ 136/* Prior to 2.6.11, we had a ports param. No longer, but don't break users. */
137static int warn_set(const char *val, struct kernel_param *kp) 137static int warn_set(const char *val, const struct kernel_param *kp)
138{ 138{
139 printk(KERN_INFO KBUILD_MODNAME 139 printk(KERN_INFO KBUILD_MODNAME
140 ": kernel >= 2.6.10 only uses 'ports' for conntrack modules\n"); 140 ": kernel >= 2.6.10 only uses 'ports' for conntrack modules\n");
diff --git a/net/netfilter/nf_nat_irc.c b/net/netfilter/nf_nat_irc.c
index 0648cb096bd8..dcb5f6375d9d 100644
--- a/net/netfilter/nf_nat_irc.c
+++ b/net/netfilter/nf_nat_irc.c
@@ -106,7 +106,7 @@ static int __init nf_nat_irc_init(void)
106} 106}
107 107
108/* Prior to 2.6.11, we had a ports param. No longer, but don't break users. */ 108/* Prior to 2.6.11, we had a ports param. No longer, but don't break users. */
109static int warn_set(const char *val, struct kernel_param *kp) 109static int warn_set(const char *val, const struct kernel_param *kp)
110{ 110{
111 printk(KERN_INFO KBUILD_MODNAME 111 printk(KERN_INFO KBUILD_MODNAME
112 ": kernel >= 2.6.10 only uses 'ports' for conntrack modules\n"); 112 ": kernel >= 2.6.10 only uses 'ports' for conntrack modules\n");
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c
index aa04666f929d..e5e4e18699c8 100644
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -50,7 +50,7 @@ EXPORT_SYMBOL_GPL(svc_pool_map);
50static DEFINE_MUTEX(svc_pool_map_mutex);/* protects svc_pool_map.count only */ 50static DEFINE_MUTEX(svc_pool_map_mutex);/* protects svc_pool_map.count only */
51 51
52static int 52static int
53param_set_pool_mode(const char *val, struct kernel_param *kp) 53param_set_pool_mode(const char *val, const struct kernel_param *kp)
54{ 54{
55 int *ip = (int *)kp->arg; 55 int *ip = (int *)kp->arg;
56 struct svc_pool_map *m = &svc_pool_map; 56 struct svc_pool_map *m = &svc_pool_map;
@@ -80,7 +80,7 @@ out:
80} 80}
81 81
82static int 82static int
83param_get_pool_mode(char *buf, struct kernel_param *kp) 83param_get_pool_mode(char *buf, const struct kernel_param *kp)
84{ 84{
85 int *ip = (int *)kp->arg; 85 int *ip = (int *)kp->arg;
86 86
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index 72b915dfcaf7..f46a12b339bc 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -1200,11 +1200,11 @@ static const struct kernel_param_ops param_ops_aalockpolicy = {
1200 .get = param_get_aalockpolicy 1200 .get = param_get_aalockpolicy
1201}; 1201};
1202 1202
1203static int param_set_audit(const char *val, struct kernel_param *kp); 1203static int param_set_audit(const char *val, const struct kernel_param *kp);
1204static int param_get_audit(char *buffer, struct kernel_param *kp); 1204static int param_get_audit(char *buffer, const struct kernel_param *kp);
1205 1205
1206static int param_set_mode(const char *val, struct kernel_param *kp); 1206static int param_set_mode(const char *val, const struct kernel_param *kp);
1207static int param_get_mode(char *buffer, struct kernel_param *kp); 1207static int param_get_mode(char *buffer, const struct kernel_param *kp);
1208 1208
1209/* Flag values, also controllable via /sys/module/apparmor/parameters 1209/* Flag values, also controllable via /sys/module/apparmor/parameters
1210 * We define special types as we want to do additional mediation. 1210 * We define special types as we want to do additional mediation.
@@ -1338,7 +1338,7 @@ static int param_get_aauint(char *buffer, const struct kernel_param *kp)
1338 return param_get_uint(buffer, kp); 1338 return param_get_uint(buffer, kp);
1339} 1339}
1340 1340
1341static int param_get_audit(char *buffer, struct kernel_param *kp) 1341static int param_get_audit(char *buffer, const struct kernel_param *kp)
1342{ 1342{
1343 if (!apparmor_enabled) 1343 if (!apparmor_enabled)
1344 return -EINVAL; 1344 return -EINVAL;
@@ -1347,7 +1347,7 @@ static int param_get_audit(char *buffer, struct kernel_param *kp)
1347 return sprintf(buffer, "%s", audit_mode_names[aa_g_audit]); 1347 return sprintf(buffer, "%s", audit_mode_names[aa_g_audit]);
1348} 1348}
1349 1349
1350static int param_set_audit(const char *val, struct kernel_param *kp) 1350static int param_set_audit(const char *val, const struct kernel_param *kp)
1351{ 1351{
1352 int i; 1352 int i;
1353 1353
@@ -1368,7 +1368,7 @@ static int param_set_audit(const char *val, struct kernel_param *kp)
1368 return -EINVAL; 1368 return -EINVAL;
1369} 1369}
1370 1370
1371static int param_get_mode(char *buffer, struct kernel_param *kp) 1371static int param_get_mode(char *buffer, const struct kernel_param *kp)
1372{ 1372{
1373 if (!apparmor_enabled) 1373 if (!apparmor_enabled)
1374 return -EINVAL; 1374 return -EINVAL;
@@ -1378,7 +1378,7 @@ static int param_get_mode(char *buffer, struct kernel_param *kp)
1378 return sprintf(buffer, "%s", aa_profile_mode_names[aa_g_profile_mode]); 1378 return sprintf(buffer, "%s", aa_profile_mode_names[aa_g_profile_mode]);
1379} 1379}
1380 1380
1381static int param_set_mode(const char *val, struct kernel_param *kp) 1381static int param_set_mode(const char *val, const struct kernel_param *kp)
1382{ 1382{
1383 int i; 1383 int i;
1384 1384