Commit eec4844fae7c033a0c1fc1eb3b8517aeb8b6cc49

Authored by Matteo Croce
Committed by Linus Torvalds
1 parent 371096949f

proc/sysctl: add shared variables for range check

In the sysctl code the proc_dointvec_minmax() function is often used to
validate the user supplied value between an allowed range.  This
function uses the extra1 and extra2 members from struct ctl_table as
minimum and maximum allowed value.

On sysctl handler declaration, in every source file there are some
readonly variables containing just an integer which address is assigned
to the extra1 and extra2 members, so the sysctl range is enforced.

The special values 0, 1 and INT_MAX are very often used as range
boundary, leading duplication of variables like zero=0, one=1,
int_max=INT_MAX in different source files:

    $ git grep -E '\.extra[12].*&(zero|one|int_max)' |wc -l
    248

Add a const int array containing the most commonly used values, some
macros to refer more easily to the correct array member, and use them
instead of creating a local one for every object file.

This is the bloat-o-meter output comparing the old and new binary
compiled with the default Fedora config:

    # scripts/bloat-o-meter -d vmlinux.o.old vmlinux.o
    add/remove: 2/2 grow/shrink: 0/2 up/down: 24/-188 (-164)
    Data                                         old     new   delta
    sysctl_vals                                    -      12     +12
    __kstrtab_sysctl_vals                          -      12     +12
    max                                           14      10      -4
    int_max                                       16       -     -16
    one                                           68       -     -68
    zero                                         128      28    -100
    Total: Before=20583249, After=20583085, chg -0.00%

[mcroce@redhat.com: tipc: remove two unused variables]
  Link: http://lkml.kernel.org/r/20190530091952.4108-1-mcroce@redhat.com
[akpm@linux-foundation.org: fix net/ipv6/sysctl_net_ipv6.c]
[arnd@arndb.de: proc/sysctl: make firmware loader table conditional]
  Link: http://lkml.kernel.org/r/20190617130014.1713870-1-arnd@arndb.de
[akpm@linux-foundation.org: fix fs/eventpoll.c]
Link: http://lkml.kernel.org/r/20190430180111.10688-1-mcroce@redhat.com
Signed-off-by: Matteo Croce <mcroce@redhat.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Aaron Tomlin <atomlin@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 33 changed files with 270 additions and 322 deletions Side-by-side Diff

arch/s390/appldata/appldata_base.c
... ... @@ -220,15 +220,13 @@
220 220 void __user *buffer, size_t *lenp, loff_t *ppos)
221 221 {
222 222 int timer_active = appldata_timer_active;
223   - int zero = 0;
224   - int one = 1;
225 223 int rc;
226 224 struct ctl_table ctl_entry = {
227 225 .procname = ctl->procname,
228 226 .data = &timer_active,
229 227 .maxlen = sizeof(int),
230   - .extra1 = &zero,
231   - .extra2 = &one,
  228 + .extra1 = SYSCTL_ZERO,
  229 + .extra2 = SYSCTL_ONE,
232 230 };
233 231  
234 232 rc = proc_douintvec_minmax(&ctl_entry, write, buffer, lenp, ppos);
235 233  
... ... @@ -255,13 +253,12 @@
255 253 void __user *buffer, size_t *lenp, loff_t *ppos)
256 254 {
257 255 int interval = appldata_interval;
258   - int one = 1;
259 256 int rc;
260 257 struct ctl_table ctl_entry = {
261 258 .procname = ctl->procname,
262 259 .data = &interval,
263 260 .maxlen = sizeof(int),
264   - .extra1 = &one,
  261 + .extra1 = SYSCTL_ONE,
265 262 };
266 263  
267 264 rc = proc_dointvec_minmax(&ctl_entry, write, buffer, lenp, ppos);
268 265  
... ... @@ -289,13 +286,11 @@
289 286 struct list_head *lh;
290 287 int rc, found;
291 288 int active;
292   - int zero = 0;
293   - int one = 1;
294 289 struct ctl_table ctl_entry = {
295 290 .data = &active,
296 291 .maxlen = sizeof(int),
297   - .extra1 = &zero,
298   - .extra2 = &one,
  292 + .extra1 = SYSCTL_ZERO,
  293 + .extra2 = SYSCTL_ONE,
299 294 };
300 295  
301 296 found = 0;
arch/s390/kernel/topology.c
... ... @@ -587,15 +587,13 @@
587 587 {
588 588 int enabled = topology_is_enabled();
589 589 int new_mode;
590   - int zero = 0;
591   - int one = 1;
592 590 int rc;
593 591 struct ctl_table ctl_entry = {
594 592 .procname = ctl->procname,
595 593 .data = &enabled,
596 594 .maxlen = sizeof(int),
597   - .extra1 = &zero,
598   - .extra2 = &one,
  595 + .extra1 = SYSCTL_ZERO,
  596 + .extra2 = SYSCTL_ONE,
599 597 };
600 598  
601 599 rc = proc_douintvec_minmax(&ctl_entry, write, buffer, lenp, ppos);
arch/x86/entry/vdso/vdso32-setup.c
... ... @@ -65,9 +65,6 @@
65 65 /* Register vsyscall32 into the ABI table */
66 66 #include <linux/sysctl.h>
67 67  
68   -static const int zero;
69   -static const int one = 1;
70   -
71 68 static struct ctl_table abi_table2[] = {
72 69 {
73 70 .procname = "vsyscall32",
... ... @@ -75,8 +72,8 @@
75 72 .maxlen = sizeof(int),
76 73 .mode = 0644,
77 74 .proc_handler = proc_dointvec_minmax,
78   - .extra1 = (int *)&zero,
79   - .extra2 = (int *)&one,
  75 + .extra1 = SYSCTL_ZERO,
  76 + .extra2 = SYSCTL_ONE,
80 77 },
81 78 {}
82 79 };
arch/x86/kernel/itmt.c
... ... @@ -65,8 +65,6 @@
65 65 return ret;
66 66 }
67 67  
68   -static unsigned int zero;
69   -static unsigned int one = 1;
70 68 static struct ctl_table itmt_kern_table[] = {
71 69 {
72 70 .procname = "sched_itmt_enabled",
... ... @@ -74,8 +72,8 @@
74 72 .maxlen = sizeof(unsigned int),
75 73 .mode = 0644,
76 74 .proc_handler = sched_itmt_update_handler,
77   - .extra1 = &zero,
78   - .extra2 = &one,
  75 + .extra1 = SYSCTL_ZERO,
  76 + .extra2 = SYSCTL_ONE,
79 77 },
80 78 {}
81 79 };
drivers/base/firmware_loader/fallback_table.c
... ... @@ -16,9 +16,6 @@
16 16 * firmware fallback configuration table
17 17 */
18 18  
19   -static unsigned int zero;
20   -static unsigned int one = 1;
21   -
22 19 struct firmware_fallback_config fw_fallback_config = {
23 20 .force_sysfs_fallback = IS_ENABLED(CONFIG_FW_LOADER_USER_HELPER_FALLBACK),
24 21 .loading_timeout = 60,
... ... @@ -26,6 +23,7 @@
26 23 };
27 24 EXPORT_SYMBOL_GPL(fw_fallback_config);
28 25  
  26 +#ifdef CONFIG_SYSCTL
29 27 struct ctl_table firmware_config_table[] = {
30 28 {
31 29 .procname = "force_sysfs_fallback",
... ... @@ -33,8 +31,8 @@
33 31 .maxlen = sizeof(unsigned int),
34 32 .mode = 0644,
35 33 .proc_handler = proc_douintvec_minmax,
36   - .extra1 = &zero,
37   - .extra2 = &one,
  34 + .extra1 = SYSCTL_ZERO,
  35 + .extra2 = SYSCTL_ONE,
38 36 },
39 37 {
40 38 .procname = "ignore_sysfs_fallback",
41 39  
... ... @@ -42,10 +40,11 @@
42 40 .maxlen = sizeof(unsigned int),
43 41 .mode = 0644,
44 42 .proc_handler = proc_douintvec_minmax,
45   - .extra1 = &zero,
46   - .extra2 = &one,
  43 + .extra1 = SYSCTL_ZERO,
  44 + .extra2 = SYSCTL_ONE,
47 45 },
48 46 { }
49 47 };
50 48 EXPORT_SYMBOL_GPL(firmware_config_table);
  49 +#endif
drivers/gpu/drm/i915/i915_perf.c
... ... @@ -274,8 +274,6 @@
274 274 #define POLL_PERIOD (NSEC_PER_SEC / POLL_FREQUENCY)
275 275  
276 276 /* for sysctl proc_dointvec_minmax of dev.i915.perf_stream_paranoid */
277   -static int zero;
278   -static int one = 1;
279 277 static u32 i915_perf_stream_paranoid = true;
280 278  
281 279 /* The maximum exponent the hardware accepts is 63 (essentially it selects one
... ... @@ -3366,8 +3364,8 @@
3366 3364 .maxlen = sizeof(i915_perf_stream_paranoid),
3367 3365 .mode = 0644,
3368 3366 .proc_handler = proc_dointvec_minmax,
3369   - .extra1 = &zero,
3370   - .extra2 = &one,
  3367 + .extra1 = SYSCTL_ZERO,
  3368 + .extra2 = SYSCTL_ONE,
3371 3369 },
3372 3370 {
3373 3371 .procname = "oa_max_sample_rate",
... ... @@ -3375,7 +3373,7 @@
3375 3373 .maxlen = sizeof(i915_oa_max_sample_rate),
3376 3374 .mode = 0644,
3377 3375 .proc_handler = proc_dointvec_minmax,
3378   - .extra1 = &zero,
  3376 + .extra1 = SYSCTL_ZERO,
3379 3377 .extra2 = &oa_sample_rate_hard_limit,
3380 3378 },
3381 3379 {}
drivers/hv/vmbus_drv.c
... ... @@ -1197,8 +1197,6 @@
1197 1197 };
1198 1198  
1199 1199 static struct ctl_table_header *hv_ctl_table_hdr;
1200   -static int zero;
1201   -static int one = 1;
1202 1200  
1203 1201 /*
1204 1202 * sysctl option to allow the user to control whether kmsg data should be
... ... @@ -1211,8 +1209,8 @@
1211 1209 .maxlen = sizeof(int),
1212 1210 .mode = 0644,
1213 1211 .proc_handler = proc_dointvec_minmax,
1214   - .extra1 = &zero,
1215   - .extra2 = &one
  1212 + .extra1 = SYSCTL_ZERO,
  1213 + .extra2 = SYSCTL_ONE
1216 1214 },
1217 1215 {}
1218 1216 };
drivers/tty/tty_ldisc.c
... ... @@ -855,8 +855,6 @@
855 855 tty->ldisc = NULL;
856 856 }
857 857  
858   -static int zero;
859   -static int one = 1;
860 858 static struct ctl_table tty_table[] = {
861 859 {
862 860 .procname = "ldisc_autoload",
... ... @@ -864,8 +862,8 @@
864 862 .maxlen = sizeof(tty_ldisc_autoload),
865 863 .mode = 0644,
866 864 .proc_handler = proc_dointvec,
867   - .extra1 = &zero,
868   - .extra2 = &one,
  865 + .extra1 = SYSCTL_ZERO,
  866 + .extra2 = SYSCTL_ONE,
869 867 },
870 868 { }
871 869 };
drivers/xen/balloon.c
... ... @@ -77,9 +77,6 @@
77 77  
78 78 #ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG
79 79  
80   -static int zero;
81   -static int one = 1;
82   -
83 80 static struct ctl_table balloon_table[] = {
84 81 {
85 82 .procname = "hotplug_unpopulated",
... ... @@ -87,8 +84,8 @@
87 84 .maxlen = sizeof(int),
88 85 .mode = 0644,
89 86 .proc_handler = proc_dointvec_minmax,
90   - .extra1 = &zero,
91   - .extra2 = &one,
  87 + .extra1 = SYSCTL_ZERO,
  88 + .extra2 = SYSCTL_ONE,
92 89 },
93 90 { }
94 91 };
... ... @@ -291,7 +291,7 @@
291 291  
292 292 #include <linux/sysctl.h>
293 293  
294   -static long zero;
  294 +static long long_zero;
295 295 static long long_max = LONG_MAX;
296 296  
297 297 struct ctl_table epoll_table[] = {
... ... @@ -301,7 +301,7 @@
301 301 .maxlen = sizeof(max_user_watches),
302 302 .mode = 0644,
303 303 .proc_handler = proc_doulongvec_minmax,
304   - .extra1 = &zero,
  304 + .extra1 = &long_zero,
305 305 .extra2 = &long_max,
306 306 },
307 307 { }
fs/notify/inotify/inotify_user.c
... ... @@ -45,8 +45,6 @@
45 45  
46 46 #include <linux/sysctl.h>
47 47  
48   -static int zero;
49   -
50 48 struct ctl_table inotify_table[] = {
51 49 {
52 50 .procname = "max_user_instances",
... ... @@ -54,7 +52,7 @@
54 52 .maxlen = sizeof(int),
55 53 .mode = 0644,
56 54 .proc_handler = proc_dointvec_minmax,
57   - .extra1 = &zero,
  55 + .extra1 = SYSCTL_ZERO,
58 56 },
59 57 {
60 58 .procname = "max_user_watches",
... ... @@ -62,7 +60,7 @@
62 60 .maxlen = sizeof(int),
63 61 .mode = 0644,
64 62 .proc_handler = proc_dointvec_minmax,
65   - .extra1 = &zero,
  63 + .extra1 = SYSCTL_ZERO,
66 64 },
67 65 {
68 66 .procname = "max_queued_events",
... ... @@ -70,7 +68,7 @@
70 68 .maxlen = sizeof(int),
71 69 .mode = 0644,
72 70 .proc_handler = proc_dointvec_minmax,
73   - .extra1 = &zero
  71 + .extra1 = SYSCTL_ZERO
74 72 },
75 73 { }
76 74 };
fs/proc/proc_sysctl.c
... ... @@ -22,6 +22,10 @@
22 22 static const struct file_operations proc_sys_dir_file_operations;
23 23 static const struct inode_operations proc_sys_dir_operations;
24 24  
  25 +/* shared constants to be used in various sysctls */
  26 +const int sysctl_vals[] = { 0, 1, INT_MAX };
  27 +EXPORT_SYMBOL(sysctl_vals);
  28 +
25 29 /* Support for permanently empty directories */
26 30  
27 31 struct ctl_table sysctl_mount_point[] = {
include/linux/sysctl.h
... ... @@ -37,6 +37,13 @@
37 37 struct ctl_table_header;
38 38 struct ctl_dir;
39 39  
  40 +/* Keep the same order as in fs/proc/proc_sysctl.c */
  41 +#define SYSCTL_ZERO ((void *)&sysctl_vals[0])
  42 +#define SYSCTL_ONE ((void *)&sysctl_vals[1])
  43 +#define SYSCTL_INT_MAX ((void *)&sysctl_vals[2])
  44 +
  45 +extern const int sysctl_vals[];
  46 +
40 47 typedef int proc_handler (struct ctl_table *ctl, int write,
41 48 void __user *buffer, size_t *lenp, loff_t *ppos);
42 49  
... ... @@ -113,9 +113,6 @@
113 113 #define proc_ipc_sem_dointvec NULL
114 114 #endif
115 115  
116   -static int zero;
117   -static int one = 1;
118   -static int int_max = INT_MAX;
119 116 int ipc_mni = IPCMNI;
120 117 int ipc_mni_shift = IPCMNI_SHIFT;
121 118 int ipc_min_cycle = RADIX_TREE_MAP_SIZE;
... ... @@ -141,7 +138,7 @@
141 138 .maxlen = sizeof(init_ipc_ns.shm_ctlmni),
142 139 .mode = 0644,
143 140 .proc_handler = proc_ipc_dointvec_minmax,
144   - .extra1 = &zero,
  141 + .extra1 = SYSCTL_ZERO,
145 142 .extra2 = &ipc_mni,
146 143 },
147 144 {
... ... @@ -150,8 +147,8 @@
150 147 .maxlen = sizeof(init_ipc_ns.shm_rmid_forced),
151 148 .mode = 0644,
152 149 .proc_handler = proc_ipc_dointvec_minmax_orphans,
153   - .extra1 = &zero,
154   - .extra2 = &one,
  150 + .extra1 = SYSCTL_ZERO,
  151 + .extra2 = SYSCTL_ONE,
155 152 },
156 153 {
157 154 .procname = "msgmax",
... ... @@ -159,8 +156,8 @@
159 156 .maxlen = sizeof(init_ipc_ns.msg_ctlmax),
160 157 .mode = 0644,
161 158 .proc_handler = proc_ipc_dointvec_minmax,
162   - .extra1 = &zero,
163   - .extra2 = &int_max,
  159 + .extra1 = SYSCTL_ZERO,
  160 + .extra2 = SYSCTL_INT_MAX,
164 161 },
165 162 {
166 163 .procname = "msgmni",
... ... @@ -168,7 +165,7 @@
168 165 .maxlen = sizeof(init_ipc_ns.msg_ctlmni),
169 166 .mode = 0644,
170 167 .proc_handler = proc_ipc_dointvec_minmax,
171   - .extra1 = &zero,
  168 + .extra1 = SYSCTL_ZERO,
172 169 .extra2 = &ipc_mni,
173 170 },
174 171 {
... ... @@ -177,8 +174,8 @@
177 174 .maxlen = sizeof(int),
178 175 .mode = 0644,
179 176 .proc_handler = proc_ipc_auto_msgmni,
180   - .extra1 = &zero,
181   - .extra2 = &one,
  177 + .extra1 = SYSCTL_ZERO,
  178 + .extra2 = SYSCTL_ONE,
182 179 },
183 180 {
184 181 .procname = "msgmnb",
... ... @@ -186,8 +183,8 @@
186 183 .maxlen = sizeof(init_ipc_ns.msg_ctlmnb),
187 184 .mode = 0644,
188 185 .proc_handler = proc_ipc_dointvec_minmax,
189   - .extra1 = &zero,
190   - .extra2 = &int_max,
  186 + .extra1 = SYSCTL_ZERO,
  187 + .extra2 = SYSCTL_INT_MAX,
191 188 },
192 189 {
193 190 .procname = "sem",
... ... @@ -203,8 +200,8 @@
203 200 .maxlen = sizeof(init_ipc_ns.ids[IPC_SEM_IDS].next_id),
204 201 .mode = 0644,
205 202 .proc_handler = proc_ipc_dointvec_minmax,
206   - .extra1 = &zero,
207   - .extra2 = &int_max,
  203 + .extra1 = SYSCTL_ZERO,
  204 + .extra2 = SYSCTL_INT_MAX,
208 205 },
209 206 {
210 207 .procname = "msg_next_id",
... ... @@ -212,8 +209,8 @@
212 209 .maxlen = sizeof(init_ipc_ns.ids[IPC_MSG_IDS].next_id),
213 210 .mode = 0644,
214 211 .proc_handler = proc_ipc_dointvec_minmax,
215   - .extra1 = &zero,
216   - .extra2 = &int_max,
  212 + .extra1 = SYSCTL_ZERO,
  213 + .extra2 = SYSCTL_INT_MAX,
217 214 },
218 215 {
219 216 .procname = "shm_next_id",
... ... @@ -221,8 +218,8 @@
221 218 .maxlen = sizeof(init_ipc_ns.ids[IPC_SHM_IDS].next_id),
222 219 .mode = 0644,
223 220 .proc_handler = proc_ipc_dointvec_minmax,
224   - .extra1 = &zero,
225   - .extra2 = &int_max,
  221 + .extra1 = SYSCTL_ZERO,
  222 + .extra2 = SYSCTL_INT_MAX,
226 223 },
227 224 #endif
228 225 {}
kernel/pid_namespace.c
... ... @@ -291,14 +291,13 @@
291 291 }
292 292  
293 293 extern int pid_max;
294   -static int zero = 0;
295 294 static struct ctl_table pid_ns_ctl_table[] = {
296 295 {
297 296 .procname = "ns_last_pid",
298 297 .maxlen = sizeof(int),
299 298 .mode = 0666, /* permissions are checked in the handler */
300 299 .proc_handler = pid_ns_ctl_handler,
301   - .extra1 = &zero,
  300 + .extra1 = SYSCTL_ZERO,
302 301 .extra2 = &pid_max,
303 302 },
304 303 { }
... ... @@ -125,9 +125,6 @@
125 125 #endif
126 126  
127 127 static int __maybe_unused neg_one = -1;
128   -
129   -static int zero;
130   -static int __maybe_unused one = 1;
131 128 static int __maybe_unused two = 2;
132 129 static int __maybe_unused four = 4;
133 130 static unsigned long zero_ul;
... ... @@ -385,8 +382,8 @@
385 382 .maxlen = sizeof(unsigned int),
386 383 .mode = 0644,
387 384 .proc_handler = sysctl_schedstats,
388   - .extra1 = &zero,
389   - .extra2 = &one,
  385 + .extra1 = SYSCTL_ZERO,
  386 + .extra2 = SYSCTL_ONE,
390 387 },
391 388 #endif /* CONFIG_SCHEDSTATS */
392 389 #endif /* CONFIG_SMP */
... ... @@ -418,7 +415,7 @@
418 415 .maxlen = sizeof(unsigned int),
419 416 .mode = 0644,
420 417 .proc_handler = proc_dointvec_minmax,
421   - .extra1 = &one,
  418 + .extra1 = SYSCTL_ONE,
422 419 },
423 420 {
424 421 .procname = "numa_balancing",
... ... @@ -426,8 +423,8 @@
426 423 .maxlen = sizeof(unsigned int),
427 424 .mode = 0644,
428 425 .proc_handler = sysctl_numa_balancing,
429   - .extra1 = &zero,
430   - .extra2 = &one,
  426 + .extra1 = SYSCTL_ZERO,
  427 + .extra2 = SYSCTL_ONE,
431 428 },
432 429 #endif /* CONFIG_NUMA_BALANCING */
433 430 #endif /* CONFIG_SCHED_DEBUG */
... ... @@ -475,8 +472,8 @@
475 472 .maxlen = sizeof(unsigned int),
476 473 .mode = 0644,
477 474 .proc_handler = proc_dointvec_minmax,
478   - .extra1 = &zero,
479   - .extra2 = &one,
  475 + .extra1 = SYSCTL_ZERO,
  476 + .extra2 = SYSCTL_ONE,
480 477 },
481 478 #endif
482 479 #ifdef CONFIG_CFS_BANDWIDTH
... ... @@ -486,7 +483,7 @@
486 483 .maxlen = sizeof(unsigned int),
487 484 .mode = 0644,
488 485 .proc_handler = proc_dointvec_minmax,
489   - .extra1 = &one,
  486 + .extra1 = SYSCTL_ONE,
490 487 },
491 488 #endif
492 489 #if defined(CONFIG_ENERGY_MODEL) && defined(CONFIG_CPU_FREQ_GOV_SCHEDUTIL)
... ... @@ -496,8 +493,8 @@
496 493 .maxlen = sizeof(unsigned int),
497 494 .mode = 0644,
498 495 .proc_handler = sched_energy_aware_handler,
499   - .extra1 = &zero,
500   - .extra2 = &one,
  496 + .extra1 = SYSCTL_ZERO,
  497 + .extra2 = SYSCTL_ONE,
501 498 },
502 499 #endif
503 500 #ifdef CONFIG_PROVE_LOCKING
... ... @@ -562,7 +559,7 @@
562 559 .mode = 0644,
563 560 .proc_handler = proc_dointvec_minmax,
564 561 .extra1 = &neg_one,
565   - .extra2 = &one,
  562 + .extra2 = SYSCTL_ONE,
566 563 },
567 564 #endif
568 565 #ifdef CONFIG_LATENCYTOP
... ... @@ -696,8 +693,8 @@
696 693 .mode = 0644,
697 694 /* only handle a transition from default "0" to "1" */
698 695 .proc_handler = proc_dointvec_minmax,
699   - .extra1 = &one,
700   - .extra2 = &one,
  696 + .extra1 = SYSCTL_ONE,
  697 + .extra2 = SYSCTL_ONE,
701 698 },
702 699 #endif
703 700 #ifdef CONFIG_MODULES
... ... @@ -715,8 +712,8 @@
715 712 .mode = 0644,
716 713 /* only handle a transition from default "0" to "1" */
717 714 .proc_handler = proc_dointvec_minmax,
718   - .extra1 = &one,
719   - .extra2 = &one,
  715 + .extra1 = SYSCTL_ONE,
  716 + .extra2 = SYSCTL_ONE,
720 717 },
721 718 #endif
722 719 #ifdef CONFIG_UEVENT_HELPER
... ... @@ -875,7 +872,7 @@
875 872 .maxlen = sizeof(int),
876 873 .mode = 0644,
877 874 .proc_handler = proc_dointvec_minmax,
878   - .extra1 = &zero,
  875 + .extra1 = SYSCTL_ZERO,
879 876 .extra2 = &ten_thousand,
880 877 },
881 878 {
... ... @@ -891,8 +888,8 @@
891 888 .maxlen = sizeof(int),
892 889 .mode = 0644,
893 890 .proc_handler = proc_dointvec_minmax_sysadmin,
894   - .extra1 = &zero,
895   - .extra2 = &one,
  891 + .extra1 = SYSCTL_ZERO,
  892 + .extra2 = SYSCTL_ONE,
896 893 },
897 894 {
898 895 .procname = "kptr_restrict",
... ... @@ -900,7 +897,7 @@
900 897 .maxlen = sizeof(int),
901 898 .mode = 0644,
902 899 .proc_handler = proc_dointvec_minmax_sysadmin,
903   - .extra1 = &zero,
  900 + .extra1 = SYSCTL_ZERO,
904 901 .extra2 = &two,
905 902 },
906 903 #endif
... ... @@ -925,8 +922,8 @@
925 922 .maxlen = sizeof(int),
926 923 .mode = 0644,
927 924 .proc_handler = proc_watchdog,
928   - .extra1 = &zero,
929   - .extra2 = &one,
  925 + .extra1 = SYSCTL_ZERO,
  926 + .extra2 = SYSCTL_ONE,
930 927 },
931 928 {
932 929 .procname = "watchdog_thresh",
... ... @@ -934,7 +931,7 @@
934 931 .maxlen = sizeof(int),
935 932 .mode = 0644,
936 933 .proc_handler = proc_watchdog_thresh,
937   - .extra1 = &zero,
  934 + .extra1 = SYSCTL_ZERO,
938 935 .extra2 = &sixty,
939 936 },
940 937 {
... ... @@ -943,8 +940,8 @@
943 940 .maxlen = sizeof(int),
944 941 .mode = NMI_WATCHDOG_SYSCTL_PERM,
945 942 .proc_handler = proc_nmi_watchdog,
946   - .extra1 = &zero,
947   - .extra2 = &one,
  943 + .extra1 = SYSCTL_ZERO,
  944 + .extra2 = SYSCTL_ONE,
948 945 },
949 946 {
950 947 .procname = "watchdog_cpumask",
... ... @@ -960,8 +957,8 @@
960 957 .maxlen = sizeof(int),
961 958 .mode = 0644,
962 959 .proc_handler = proc_soft_watchdog,
963   - .extra1 = &zero,
964   - .extra2 = &one,
  960 + .extra1 = SYSCTL_ZERO,
  961 + .extra2 = SYSCTL_ONE,
965 962 },
966 963 {
967 964 .procname = "softlockup_panic",
... ... @@ -969,8 +966,8 @@
969 966 .maxlen = sizeof(int),
970 967 .mode = 0644,
971 968 .proc_handler = proc_dointvec_minmax,
972   - .extra1 = &zero,
973   - .extra2 = &one,
  969 + .extra1 = SYSCTL_ZERO,
  970 + .extra2 = SYSCTL_ONE,
974 971 },
975 972 #ifdef CONFIG_SMP
976 973 {
... ... @@ -979,8 +976,8 @@
979 976 .maxlen = sizeof(int),
980 977 .mode = 0644,
981 978 .proc_handler = proc_dointvec_minmax,
982   - .extra1 = &zero,
983   - .extra2 = &one,
  979 + .extra1 = SYSCTL_ZERO,
  980 + .extra2 = SYSCTL_ONE,
984 981 },
985 982 #endif /* CONFIG_SMP */
986 983 #endif
... ... @@ -991,8 +988,8 @@
991 988 .maxlen = sizeof(int),
992 989 .mode = 0644,
993 990 .proc_handler = proc_dointvec_minmax,
994   - .extra1 = &zero,
995   - .extra2 = &one,
  991 + .extra1 = SYSCTL_ZERO,
  992 + .extra2 = SYSCTL_ONE,
996 993 },
997 994 #ifdef CONFIG_SMP
998 995 {
... ... @@ -1001,8 +998,8 @@
1001 998 .maxlen = sizeof(int),
1002 999 .mode = 0644,
1003 1000 .proc_handler = proc_dointvec_minmax,
1004   - .extra1 = &zero,
1005   - .extra2 = &one,
  1001 + .extra1 = SYSCTL_ZERO,
  1002 + .extra2 = SYSCTL_ONE,
1006 1003 },
1007 1004 #endif /* CONFIG_SMP */
1008 1005 #endif
... ... @@ -1115,8 +1112,8 @@
1115 1112 .maxlen = sizeof(int),
1116 1113 .mode = 0644,
1117 1114 .proc_handler = proc_dointvec_minmax,
1118   - .extra1 = &zero,
1119   - .extra2 = &one,
  1115 + .extra1 = SYSCTL_ZERO,
  1116 + .extra2 = SYSCTL_ONE,
1120 1117 },
1121 1118 {
1122 1119 .procname = "hung_task_check_count",
... ... @@ -1124,7 +1121,7 @@
1124 1121 .maxlen = sizeof(int),
1125 1122 .mode = 0644,
1126 1123 .proc_handler = proc_dointvec_minmax,
1127   - .extra1 = &zero,
  1124 + .extra1 = SYSCTL_ZERO,
1128 1125 },
1129 1126 {
1130 1127 .procname = "hung_task_timeout_secs",
... ... @@ -1201,7 +1198,7 @@
1201 1198 .maxlen = sizeof(sysctl_perf_event_sample_rate),
1202 1199 .mode = 0644,
1203 1200 .proc_handler = perf_proc_update_handler,
1204   - .extra1 = &one,
  1201 + .extra1 = SYSCTL_ONE,
1205 1202 },
1206 1203 {
1207 1204 .procname = "perf_cpu_time_max_percent",
... ... @@ -1209,7 +1206,7 @@
1209 1206 .maxlen = sizeof(sysctl_perf_cpu_time_max_percent),
1210 1207 .mode = 0644,
1211 1208 .proc_handler = perf_cpu_time_max_percent_handler,
1212   - .extra1 = &zero,
  1209 + .extra1 = SYSCTL_ZERO,
1213 1210 .extra2 = &one_hundred,
1214 1211 },
1215 1212 {
... ... @@ -1218,7 +1215,7 @@
1218 1215 .maxlen = sizeof(sysctl_perf_event_max_stack),
1219 1216 .mode = 0644,
1220 1217 .proc_handler = perf_event_max_stack_handler,
1221   - .extra1 = &zero,
  1218 + .extra1 = SYSCTL_ZERO,
1222 1219 .extra2 = &six_hundred_forty_kb,
1223 1220 },
1224 1221 {
... ... @@ -1227,7 +1224,7 @@
1227 1224 .maxlen = sizeof(sysctl_perf_event_max_contexts_per_stack),
1228 1225 .mode = 0644,
1229 1226 .proc_handler = perf_event_max_stack_handler,
1230   - .extra1 = &zero,
  1227 + .extra1 = SYSCTL_ZERO,
1231 1228 .extra2 = &one_thousand,
1232 1229 },
1233 1230 #endif
... ... @@ -1237,8 +1234,8 @@
1237 1234 .maxlen = sizeof(int),
1238 1235 .mode = 0644,
1239 1236 .proc_handler = proc_dointvec_minmax,
1240   - .extra1 = &zero,
1241   - .extra2 = &one,
  1237 + .extra1 = SYSCTL_ZERO,
  1238 + .extra2 = SYSCTL_ONE,
1242 1239 },
1243 1240 #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON)
1244 1241 {
... ... @@ -1247,8 +1244,8 @@
1247 1244 .maxlen = sizeof(unsigned int),
1248 1245 .mode = 0644,
1249 1246 .proc_handler = timer_migration_handler,
1250   - .extra1 = &zero,
1251   - .extra2 = &one,
  1247 + .extra1 = SYSCTL_ZERO,
  1248 + .extra2 = SYSCTL_ONE,
1252 1249 },
1253 1250 #endif
1254 1251 #ifdef CONFIG_BPF_SYSCALL
... ... @@ -1259,8 +1256,8 @@
1259 1256 .mode = 0644,
1260 1257 /* only handle a transition from default "0" to "1" */
1261 1258 .proc_handler = proc_dointvec_minmax,
1262   - .extra1 = &one,
1263   - .extra2 = &one,
  1259 + .extra1 = SYSCTL_ONE,
  1260 + .extra2 = SYSCTL_ONE,
1264 1261 },
1265 1262 {
1266 1263 .procname = "bpf_stats_enabled",
... ... @@ -1277,8 +1274,8 @@
1277 1274 .maxlen = sizeof(sysctl_panic_on_rcu_stall),
1278 1275 .mode = 0644,
1279 1276 .proc_handler = proc_dointvec_minmax,
1280   - .extra1 = &zero,
1281   - .extra2 = &one,
  1277 + .extra1 = SYSCTL_ZERO,
  1278 + .extra2 = SYSCTL_ONE,
1282 1279 },
1283 1280 #endif
1284 1281 #ifdef CONFIG_STACKLEAK_RUNTIME_DISABLE
... ... @@ -1288,8 +1285,8 @@
1288 1285 .maxlen = sizeof(int),
1289 1286 .mode = 0600,
1290 1287 .proc_handler = stack_erasing_sysctl,
1291   - .extra1 = &zero,
1292   - .extra2 = &one,
  1288 + .extra1 = SYSCTL_ZERO,
  1289 + .extra2 = SYSCTL_ONE,
1293 1290 },
1294 1291 #endif
1295 1292 { }
... ... @@ -1302,7 +1299,7 @@
1302 1299 .maxlen = sizeof(sysctl_overcommit_memory),
1303 1300 .mode = 0644,
1304 1301 .proc_handler = proc_dointvec_minmax,
1305   - .extra1 = &zero,
  1302 + .extra1 = SYSCTL_ZERO,
1306 1303 .extra2 = &two,
1307 1304 },
1308 1305 {
... ... @@ -1311,7 +1308,7 @@
1311 1308 .maxlen = sizeof(sysctl_panic_on_oom),
1312 1309 .mode = 0644,
1313 1310 .proc_handler = proc_dointvec_minmax,
1314   - .extra1 = &zero,
  1311 + .extra1 = SYSCTL_ZERO,
1315 1312 .extra2 = &two,
1316 1313 },
1317 1314 {
... ... @@ -1348,7 +1345,7 @@
1348 1345 .maxlen = sizeof(int),
1349 1346 .mode = 0644,
1350 1347 .proc_handler = proc_dointvec_minmax,
1351   - .extra1 = &zero,
  1348 + .extra1 = SYSCTL_ZERO,
1352 1349 },
1353 1350 {
1354 1351 .procname = "dirty_background_ratio",
... ... @@ -1356,7 +1353,7 @@
1356 1353 .maxlen = sizeof(dirty_background_ratio),
1357 1354 .mode = 0644,
1358 1355 .proc_handler = dirty_background_ratio_handler,
1359   - .extra1 = &zero,
  1356 + .extra1 = SYSCTL_ZERO,
1360 1357 .extra2 = &one_hundred,
1361 1358 },
1362 1359 {
... ... @@ -1373,7 +1370,7 @@
1373 1370 .maxlen = sizeof(vm_dirty_ratio),
1374 1371 .mode = 0644,
1375 1372 .proc_handler = dirty_ratio_handler,
1376   - .extra1 = &zero,
  1373 + .extra1 = SYSCTL_ZERO,
1377 1374 .extra2 = &one_hundred,
1378 1375 },
1379 1376 {
... ... @@ -1397,7 +1394,7 @@
1397 1394 .maxlen = sizeof(dirty_expire_interval),
1398 1395 .mode = 0644,
1399 1396 .proc_handler = proc_dointvec_minmax,
1400   - .extra1 = &zero,
  1397 + .extra1 = SYSCTL_ZERO,
1401 1398 },
1402 1399 {
1403 1400 .procname = "dirtytime_expire_seconds",
... ... @@ -1405,7 +1402,7 @@
1405 1402 .maxlen = sizeof(dirtytime_expire_interval),
1406 1403 .mode = 0644,
1407 1404 .proc_handler = dirtytime_interval_handler,
1408   - .extra1 = &zero,
  1405 + .extra1 = SYSCTL_ZERO,
1409 1406 },
1410 1407 {
1411 1408 .procname = "swappiness",
... ... @@ -1413,7 +1410,7 @@
1413 1410 .maxlen = sizeof(vm_swappiness),
1414 1411 .mode = 0644,
1415 1412 .proc_handler = proc_dointvec_minmax,
1416   - .extra1 = &zero,
  1413 + .extra1 = SYSCTL_ZERO,
1417 1414 .extra2 = &one_hundred,
1418 1415 },
1419 1416 #ifdef CONFIG_HUGETLB_PAGE
... ... @@ -1438,8 +1435,8 @@
1438 1435 .maxlen = sizeof(int),
1439 1436 .mode = 0644,
1440 1437 .proc_handler = sysctl_vm_numa_stat_handler,
1441   - .extra1 = &zero,
1442   - .extra2 = &one,
  1438 + .extra1 = SYSCTL_ZERO,
  1439 + .extra2 = SYSCTL_ONE,
1443 1440 },
1444 1441 #endif
1445 1442 {
... ... @@ -1470,7 +1467,7 @@
1470 1467 .maxlen = sizeof(int),
1471 1468 .mode = 0644,
1472 1469 .proc_handler = drop_caches_sysctl_handler,
1473   - .extra1 = &one,
  1470 + .extra1 = SYSCTL_ONE,
1474 1471 .extra2 = &four,
1475 1472 },
1476 1473 #ifdef CONFIG_COMPACTION
... ... @@ -1496,8 +1493,8 @@
1496 1493 .maxlen = sizeof(int),
1497 1494 .mode = 0644,
1498 1495 .proc_handler = proc_dointvec,
1499   - .extra1 = &zero,
1500   - .extra2 = &one,
  1496 + .extra1 = SYSCTL_ZERO,
  1497 + .extra2 = SYSCTL_ONE,
1501 1498 },
1502 1499  
1503 1500 #endif /* CONFIG_COMPACTION */
... ... @@ -1507,7 +1504,7 @@
1507 1504 .maxlen = sizeof(min_free_kbytes),
1508 1505 .mode = 0644,
1509 1506 .proc_handler = min_free_kbytes_sysctl_handler,
1510   - .extra1 = &zero,
  1507 + .extra1 = SYSCTL_ZERO,
1511 1508 },
1512 1509 {
1513 1510 .procname = "watermark_boost_factor",
... ... @@ -1515,7 +1512,7 @@
1515 1512 .maxlen = sizeof(watermark_boost_factor),
1516 1513 .mode = 0644,
1517 1514 .proc_handler = watermark_boost_factor_sysctl_handler,
1518   - .extra1 = &zero,
  1515 + .extra1 = SYSCTL_ZERO,
1519 1516 },
1520 1517 {
1521 1518 .procname = "watermark_scale_factor",
... ... @@ -1523,7 +1520,7 @@
1523 1520 .maxlen = sizeof(watermark_scale_factor),
1524 1521 .mode = 0644,
1525 1522 .proc_handler = watermark_scale_factor_sysctl_handler,
1526   - .extra1 = &one,
  1523 + .extra1 = SYSCTL_ONE,
1527 1524 .extra2 = &one_thousand,
1528 1525 },
1529 1526 {
... ... @@ -1532,7 +1529,7 @@
1532 1529 .maxlen = sizeof(percpu_pagelist_fraction),
1533 1530 .mode = 0644,
1534 1531 .proc_handler = percpu_pagelist_fraction_sysctl_handler,
1535   - .extra1 = &zero,
  1532 + .extra1 = SYSCTL_ZERO,
1536 1533 },
1537 1534 #ifdef CONFIG_MMU
1538 1535 {
... ... @@ -1541,7 +1538,7 @@
1541 1538 .maxlen = sizeof(sysctl_max_map_count),
1542 1539 .mode = 0644,
1543 1540 .proc_handler = proc_dointvec_minmax,
1544   - .extra1 = &zero,
  1541 + .extra1 = SYSCTL_ZERO,
1545 1542 },
1546 1543 #else
1547 1544 {
... ... @@ -1550,7 +1547,7 @@
1550 1547 .maxlen = sizeof(sysctl_nr_trim_pages),
1551 1548 .mode = 0644,
1552 1549 .proc_handler = proc_dointvec_minmax,
1553   - .extra1 = &zero,
  1550 + .extra1 = SYSCTL_ZERO,
1554 1551 },
1555 1552 #endif
1556 1553 {
... ... @@ -1566,7 +1563,7 @@
1566 1563 .maxlen = sizeof(block_dump),
1567 1564 .mode = 0644,
1568 1565 .proc_handler = proc_dointvec,
1569   - .extra1 = &zero,
  1566 + .extra1 = SYSCTL_ZERO,
1570 1567 },
1571 1568 {
1572 1569 .procname = "vfs_cache_pressure",
... ... @@ -1574,7 +1571,7 @@
1574 1571 .maxlen = sizeof(sysctl_vfs_cache_pressure),
1575 1572 .mode = 0644,
1576 1573 .proc_handler = proc_dointvec,
1577   - .extra1 = &zero,
  1574 + .extra1 = SYSCTL_ZERO,
1578 1575 },
1579 1576 #ifdef HAVE_ARCH_PICK_MMAP_LAYOUT
1580 1577 {
... ... @@ -1583,7 +1580,7 @@
1583 1580 .maxlen = sizeof(sysctl_legacy_va_layout),
1584 1581 .mode = 0644,
1585 1582 .proc_handler = proc_dointvec,
1586   - .extra1 = &zero,
  1583 + .extra1 = SYSCTL_ZERO,
1587 1584 },
1588 1585 #endif
1589 1586 #ifdef CONFIG_NUMA
... ... @@ -1593,7 +1590,7 @@
1593 1590 .maxlen = sizeof(node_reclaim_mode),
1594 1591 .mode = 0644,
1595 1592 .proc_handler = proc_dointvec,
1596   - .extra1 = &zero,
  1593 + .extra1 = SYSCTL_ZERO,
1597 1594 },
1598 1595 {
1599 1596 .procname = "min_unmapped_ratio",
... ... @@ -1601,7 +1598,7 @@
1601 1598 .maxlen = sizeof(sysctl_min_unmapped_ratio),
1602 1599 .mode = 0644,
1603 1600 .proc_handler = sysctl_min_unmapped_ratio_sysctl_handler,
1604   - .extra1 = &zero,
  1601 + .extra1 = SYSCTL_ZERO,
1605 1602 .extra2 = &one_hundred,
1606 1603 },
1607 1604 {
... ... @@ -1610,7 +1607,7 @@
1610 1607 .maxlen = sizeof(sysctl_min_slab_ratio),
1611 1608 .mode = 0644,
1612 1609 .proc_handler = sysctl_min_slab_ratio_sysctl_handler,
1613   - .extra1 = &zero,
  1610 + .extra1 = SYSCTL_ZERO,
1614 1611 .extra2 = &one_hundred,
1615 1612 },
1616 1613 #endif
... ... @@ -1661,7 +1658,7 @@
1661 1658 #endif
1662 1659 .mode = 0644,
1663 1660 .proc_handler = proc_dointvec,
1664   - .extra1 = &zero,
  1661 + .extra1 = SYSCTL_ZERO,
1665 1662 },
1666 1663 #endif
1667 1664 #ifdef CONFIG_HIGHMEM
... ... @@ -1671,8 +1668,8 @@
1671 1668 .maxlen = sizeof(vm_highmem_is_dirtyable),
1672 1669 .mode = 0644,
1673 1670 .proc_handler = proc_dointvec_minmax,
1674   - .extra1 = &zero,
1675   - .extra2 = &one,
  1671 + .extra1 = SYSCTL_ZERO,
  1672 + .extra2 = SYSCTL_ONE,
1676 1673 },
1677 1674 #endif
1678 1675 #ifdef CONFIG_MEMORY_FAILURE
... ... @@ -1682,8 +1679,8 @@
1682 1679 .maxlen = sizeof(sysctl_memory_failure_early_kill),
1683 1680 .mode = 0644,
1684 1681 .proc_handler = proc_dointvec_minmax,
1685   - .extra1 = &zero,
1686   - .extra2 = &one,
  1682 + .extra1 = SYSCTL_ZERO,
  1683 + .extra2 = SYSCTL_ONE,
1687 1684 },
1688 1685 {
1689 1686 .procname = "memory_failure_recovery",
... ... @@ -1691,8 +1688,8 @@
1691 1688 .maxlen = sizeof(sysctl_memory_failure_recovery),
1692 1689 .mode = 0644,
1693 1690 .proc_handler = proc_dointvec_minmax,
1694   - .extra1 = &zero,
1695   - .extra2 = &one,
  1691 + .extra1 = SYSCTL_ZERO,
  1692 + .extra2 = SYSCTL_ONE,
1696 1693 },
1697 1694 #endif
1698 1695 {
... ... @@ -1738,8 +1735,8 @@
1738 1735 .maxlen = sizeof(sysctl_unprivileged_userfaultfd),
1739 1736 .mode = 0644,
1740 1737 .proc_handler = proc_dointvec_minmax,
1741   - .extra1 = &zero,
1742   - .extra2 = &one,
  1738 + .extra1 = SYSCTL_ZERO,
  1739 + .extra2 = SYSCTL_ONE,
1743 1740 },
1744 1741 #endif
1745 1742 { }
... ... @@ -1875,8 +1872,8 @@
1875 1872 .maxlen = sizeof(int),
1876 1873 .mode = 0600,
1877 1874 .proc_handler = proc_dointvec_minmax,
1878   - .extra1 = &zero,
1879   - .extra2 = &one,
  1875 + .extra1 = SYSCTL_ZERO,
  1876 + .extra2 = SYSCTL_ONE,
1880 1877 },
1881 1878 {
1882 1879 .procname = "protected_hardlinks",
... ... @@ -1884,8 +1881,8 @@
1884 1881 .maxlen = sizeof(int),
1885 1882 .mode = 0600,
1886 1883 .proc_handler = proc_dointvec_minmax,
1887   - .extra1 = &zero,
1888   - .extra2 = &one,
  1884 + .extra1 = SYSCTL_ZERO,
  1885 + .extra2 = SYSCTL_ONE,
1889 1886 },
1890 1887 {
1891 1888 .procname = "protected_fifos",
... ... @@ -1893,7 +1890,7 @@
1893 1890 .maxlen = sizeof(int),
1894 1891 .mode = 0600,
1895 1892 .proc_handler = proc_dointvec_minmax,
1896   - .extra1 = &zero,
  1893 + .extra1 = SYSCTL_ZERO,
1897 1894 .extra2 = &two,
1898 1895 },
1899 1896 {
... ... @@ -1902,7 +1899,7 @@
1902 1899 .maxlen = sizeof(int),
1903 1900 .mode = 0600,
1904 1901 .proc_handler = proc_dointvec_minmax,
1905   - .extra1 = &zero,
  1902 + .extra1 = SYSCTL_ZERO,
1906 1903 .extra2 = &two,
1907 1904 },
1908 1905 {
... ... @@ -1911,7 +1908,7 @@
1911 1908 .maxlen = sizeof(int),
1912 1909 .mode = 0644,
1913 1910 .proc_handler = proc_dointvec_minmax_coredump,
1914   - .extra1 = &zero,
  1911 + .extra1 = SYSCTL_ZERO,
1915 1912 .extra2 = &two,
1916 1913 },
1917 1914 #if defined(CONFIG_BINFMT_MISC) || defined(CONFIG_BINFMT_MISC_MODULE)
... ... @@ -1948,7 +1945,7 @@
1948 1945 .maxlen = sizeof(unsigned int),
1949 1946 .mode = 0644,
1950 1947 .proc_handler = proc_dointvec_minmax,
1951   - .extra1 = &one,
  1948 + .extra1 = SYSCTL_ONE,
1952 1949 },
1953 1950 { }
1954 1951 };
... ... @@ -1970,8 +1967,8 @@
1970 1967 .maxlen = sizeof(int),
1971 1968 .mode = 0644,
1972 1969 .proc_handler = proc_kprobes_optimization_handler,
1973   - .extra1 = &zero,
1974   - .extra2 = &one,
  1970 + .extra1 = SYSCTL_ZERO,
  1971 + .extra2 = SYSCTL_ONE,
1975 1972 },
1976 1973 #endif
1977 1974 { }
... ... @@ -3395,8 +3392,8 @@
3395 3392 .data = &val,
3396 3393 .maxlen = sizeof(val),
3397 3394 .mode = table->mode,
3398   - .extra1 = &zero,
3399   - .extra2 = &one,
  3395 + .extra1 = SYSCTL_ZERO,
  3396 + .extra2 = SYSCTL_ONE,
3400 3397 };
3401 3398  
3402 3399 if (write && !capable(CAP_SYS_ADMIN))
... ... @@ -52,16 +52,14 @@
52 52 .permissions = set_permissions,
53 53 };
54 54  
55   -static int zero = 0;
56   -static int int_max = INT_MAX;
57 55 #define UCOUNT_ENTRY(name) \
58 56 { \
59 57 .procname = name, \
60 58 .maxlen = sizeof(int), \
61 59 .mode = 0644, \
62 60 .proc_handler = proc_dointvec_minmax, \
63   - .extra1 = &zero, \
64   - .extra2 = &int_max, \
  61 + .extra1 = SYSCTL_ZERO, \
  62 + .extra2 = SYSCTL_INT_MAX, \
65 63 }
66 64 static struct ctl_table user_table[] = {
67 65 UCOUNT_ENTRY("max_user_namespaces"),
net/core/neighbour.c
... ... @@ -3374,8 +3374,6 @@
3374 3374 EXPORT_SYMBOL(neigh_app_ns);
3375 3375  
3376 3376 #ifdef CONFIG_SYSCTL
3377   -static int zero;
3378   -static int int_max = INT_MAX;
3379 3377 static int unres_qlen_max = INT_MAX / SKB_TRUESIZE(ETH_FRAME_LEN);
3380 3378  
3381 3379 static int proc_unres_qlen(struct ctl_table *ctl, int write,
... ... @@ -3384,7 +3382,7 @@
3384 3382 int size, ret;
3385 3383 struct ctl_table tmp = *ctl;
3386 3384  
3387   - tmp.extra1 = &zero;
  3385 + tmp.extra1 = SYSCTL_ZERO;
3388 3386 tmp.extra2 = &unres_qlen_max;
3389 3387 tmp.data = &size;
3390 3388  
... ... @@ -3449,8 +3447,8 @@
3449 3447 struct ctl_table tmp = *ctl;
3450 3448 int ret;
3451 3449  
3452   - tmp.extra1 = &zero;
3453   - tmp.extra2 = &int_max;
  3450 + tmp.extra1 = SYSCTL_ZERO;
  3451 + tmp.extra2 = SYSCTL_INT_MAX;
3454 3452  
3455 3453 ret = proc_dointvec_minmax(&tmp, write, buffer, lenp, ppos);
3456 3454 neigh_proc_update(ctl, write);
3457 3455  
3458 3456  
... ... @@ -3595,24 +3593,24 @@
3595 3593 .procname = "gc_thresh1",
3596 3594 .maxlen = sizeof(int),
3597 3595 .mode = 0644,
3598   - .extra1 = &zero,
3599   - .extra2 = &int_max,
  3596 + .extra1 = SYSCTL_ZERO,
  3597 + .extra2 = SYSCTL_INT_MAX,
3600 3598 .proc_handler = proc_dointvec_minmax,
3601 3599 },
3602 3600 [NEIGH_VAR_GC_THRESH2] = {
3603 3601 .procname = "gc_thresh2",
3604 3602 .maxlen = sizeof(int),
3605 3603 .mode = 0644,
3606   - .extra1 = &zero,
3607   - .extra2 = &int_max,
  3604 + .extra1 = SYSCTL_ZERO,
  3605 + .extra2 = SYSCTL_INT_MAX,
3608 3606 .proc_handler = proc_dointvec_minmax,
3609 3607 },
3610 3608 [NEIGH_VAR_GC_THRESH3] = {
3611 3609 .procname = "gc_thresh3",
3612 3610 .maxlen = sizeof(int),
3613 3611 .mode = 0644,
3614   - .extra1 = &zero,
3615   - .extra2 = &int_max,
  3612 + .extra1 = SYSCTL_ZERO,
  3613 + .extra2 = SYSCTL_INT_MAX,
3616 3614 .proc_handler = proc_dointvec_minmax,
3617 3615 },
3618 3616 {},
net/core/sysctl_net_core.c
... ... @@ -22,8 +22,6 @@
22 22 #include <net/busy_poll.h>
23 23 #include <net/pkt_sched.h>
24 24  
25   -static int zero = 0;
26   -static int one = 1;
27 25 static int two __maybe_unused = 2;
28 26 static int min_sndbuf = SOCK_MIN_SNDBUF;
29 27 static int min_rcvbuf = SOCK_MIN_RCVBUF;
30 28  
... ... @@ -390,10 +388,10 @@
390 388 .mode = 0644,
391 389 .proc_handler = proc_dointvec_minmax_bpf_enable,
392 390 # ifdef CONFIG_BPF_JIT_ALWAYS_ON
393   - .extra1 = &one,
394   - .extra2 = &one,
  391 + .extra1 = SYSCTL_ONE,
  392 + .extra2 = SYSCTL_ONE,
395 393 # else
396   - .extra1 = &zero,
  394 + .extra1 = SYSCTL_ZERO,
397 395 .extra2 = &two,
398 396 # endif
399 397 },
... ... @@ -404,7 +402,7 @@
404 402 .maxlen = sizeof(int),
405 403 .mode = 0600,
406 404 .proc_handler = proc_dointvec_minmax_bpf_restricted,
407   - .extra1 = &zero,
  405 + .extra1 = SYSCTL_ZERO,
408 406 .extra2 = &two,
409 407 },
410 408 {
... ... @@ -413,8 +411,8 @@
413 411 .maxlen = sizeof(int),
414 412 .mode = 0600,
415 413 .proc_handler = proc_dointvec_minmax_bpf_restricted,
416   - .extra1 = &zero,
417   - .extra2 = &one,
  414 + .extra1 = SYSCTL_ZERO,
  415 + .extra2 = SYSCTL_ONE,
418 416 },
419 417 # endif
420 418 {
... ... @@ -461,8 +459,8 @@
461 459 .maxlen = sizeof(int),
462 460 .mode = 0644,
463 461 .proc_handler = proc_dointvec_minmax,
464   - .extra1 = &zero,
465   - .extra2 = &one
  462 + .extra1 = SYSCTL_ZERO,
  463 + .extra2 = SYSCTL_ONE
466 464 },
467 465 #ifdef CONFIG_RPS
468 466 {
... ... @@ -493,7 +491,7 @@
493 491 .maxlen = sizeof(unsigned int),
494 492 .mode = 0644,
495 493 .proc_handler = proc_dointvec_minmax,
496   - .extra1 = &zero,
  494 + .extra1 = SYSCTL_ZERO,
497 495 },
498 496 {
499 497 .procname = "busy_read",
... ... @@ -501,7 +499,7 @@
501 499 .maxlen = sizeof(unsigned int),
502 500 .mode = 0644,
503 501 .proc_handler = proc_dointvec_minmax,
504   - .extra1 = &zero,
  502 + .extra1 = SYSCTL_ZERO,
505 503 },
506 504 #endif
507 505 #ifdef CONFIG_NET_SCHED
... ... @@ -533,7 +531,7 @@
533 531 .maxlen = sizeof(int),
534 532 .mode = 0644,
535 533 .proc_handler = proc_dointvec_minmax,
536   - .extra1 = &one,
  534 + .extra1 = SYSCTL_ONE,
537 535 .extra2 = &max_skb_frags,
538 536 },
539 537 {
... ... @@ -542,7 +540,7 @@
542 540 .maxlen = sizeof(unsigned int),
543 541 .mode = 0644,
544 542 .proc_handler = proc_dointvec_minmax,
545   - .extra1 = &zero,
  543 + .extra1 = SYSCTL_ZERO,
546 544 },
547 545 {
548 546 .procname = "fb_tunnels_only_for_init_net",
... ... @@ -550,8 +548,8 @@
550 548 .maxlen = sizeof(int),
551 549 .mode = 0644,
552 550 .proc_handler = proc_dointvec_minmax,
553   - .extra1 = &zero,
554   - .extra2 = &one,
  551 + .extra1 = SYSCTL_ZERO,
  552 + .extra2 = SYSCTL_ONE,
555 553 },
556 554 {
557 555 .procname = "devconf_inherit_init_net",
... ... @@ -559,7 +557,7 @@
559 557 .maxlen = sizeof(int),
560 558 .mode = 0644,
561 559 .proc_handler = proc_dointvec_minmax,
562   - .extra1 = &zero,
  560 + .extra1 = SYSCTL_ZERO,
563 561 .extra2 = &two,
564 562 },
565 563 {
... ... @@ -578,7 +576,7 @@
578 576 .data = &init_net.core.sysctl_somaxconn,
579 577 .maxlen = sizeof(int),
580 578 .mode = 0644,
581   - .extra1 = &zero,
  579 + .extra1 = SYSCTL_ZERO,
582 580 .proc_handler = proc_dointvec_minmax
583 581 },
584 582 { }
... ... @@ -16,9 +16,7 @@
16 16 #endif
17 17  
18 18 /* Boundary values */
19   -static int zero = 0,
20   - one = 1,
21   - u8_max = 0xFF;
  19 +static int u8_max = 0xFF;
22 20 static unsigned long seqw_min = DCCPF_SEQ_WMIN,
23 21 seqw_max = 0xFFFFFFFF; /* maximum on 32 bit */
24 22  
... ... @@ -38,7 +36,7 @@
38 36 .maxlen = sizeof(sysctl_dccp_rx_ccid),
39 37 .mode = 0644,
40 38 .proc_handler = proc_dointvec_minmax,
41   - .extra1 = &zero,
  39 + .extra1 = SYSCTL_ZERO,
42 40 .extra2 = &u8_max, /* RFC 4340, 10. */
43 41 },
44 42 {
... ... @@ -47,7 +45,7 @@
47 45 .maxlen = sizeof(sysctl_dccp_tx_ccid),
48 46 .mode = 0644,
49 47 .proc_handler = proc_dointvec_minmax,
50   - .extra1 = &zero,
  48 + .extra1 = SYSCTL_ZERO,
51 49 .extra2 = &u8_max, /* RFC 4340, 10. */
52 50 },
53 51 {
... ... @@ -56,7 +54,7 @@
56 54 .maxlen = sizeof(sysctl_dccp_request_retries),
57 55 .mode = 0644,
58 56 .proc_handler = proc_dointvec_minmax,
59   - .extra1 = &one,
  57 + .extra1 = SYSCTL_ONE,
60 58 .extra2 = &u8_max,
61 59 },
62 60 {
... ... @@ -65,7 +63,7 @@
65 63 .maxlen = sizeof(sysctl_dccp_retries1),
66 64 .mode = 0644,
67 65 .proc_handler = proc_dointvec_minmax,
68   - .extra1 = &zero,
  66 + .extra1 = SYSCTL_ZERO,
69 67 .extra2 = &u8_max,
70 68 },
71 69 {
... ... @@ -74,7 +72,7 @@
74 72 .maxlen = sizeof(sysctl_dccp_retries2),
75 73 .mode = 0644,
76 74 .proc_handler = proc_dointvec_minmax,
77   - .extra1 = &zero,
  75 + .extra1 = SYSCTL_ZERO,
78 76 .extra2 = &u8_max,
79 77 },
80 78 {
... ... @@ -83,7 +81,7 @@
83 81 .maxlen = sizeof(sysctl_dccp_tx_qlen),
84 82 .mode = 0644,
85 83 .proc_handler = proc_dointvec_minmax,
86   - .extra1 = &zero,
  84 + .extra1 = SYSCTL_ZERO,
87 85 },
88 86 {
89 87 .procname = "sync_ratelimit",
net/ipv4/sysctl_net_ipv4.c
... ... @@ -28,8 +28,6 @@
28 28 #include <net/protocol.h>
29 29 #include <net/netevent.h>
30 30  
31   -static int zero;
32   -static int one = 1;
33 31 static int two = 2;
34 32 static int four = 4;
35 33 static int thousand = 1000;
... ... @@ -576,7 +574,7 @@
576 574 .maxlen = sizeof(int),
577 575 .mode = 0644,
578 576 .proc_handler = proc_dointvec_minmax,
579   - .extra1 = &zero,
  577 + .extra1 = SYSCTL_ZERO,
580 578 },
581 579 {
582 580 .procname = "icmp_msgs_burst",
... ... @@ -584,7 +582,7 @@
584 582 .maxlen = sizeof(int),
585 583 .mode = 0644,
586 584 .proc_handler = proc_dointvec_minmax,
587   - .extra1 = &zero,
  585 + .extra1 = SYSCTL_ZERO,
588 586 },
589 587 {
590 588 .procname = "udp_mem",
... ... @@ -674,8 +672,8 @@
674 672 .maxlen = sizeof(int),
675 673 .mode = 0644,
676 674 .proc_handler = proc_dointvec_minmax,
677   - .extra1 = &zero,
678   - .extra2 = &one,
  675 + .extra1 = SYSCTL_ZERO,
  676 + .extra2 = SYSCTL_ONE,
679 677 },
680 678 #endif
681 679 {
... ... @@ -763,8 +761,8 @@
763 761 .maxlen = sizeof(int),
764 762 .mode = 0644,
765 763 .proc_handler = ipv4_fwd_update_priority,
766   - .extra1 = &zero,
767   - .extra2 = &one,
  764 + .extra1 = SYSCTL_ZERO,
  765 + .extra2 = SYSCTL_ONE,
768 766 },
769 767 {
770 768 .procname = "ip_nonlocal_bind",
... ... @@ -794,8 +792,8 @@
794 792 .maxlen = sizeof(int),
795 793 .mode = 0644,
796 794 .proc_handler = proc_dointvec_minmax,
797   - .extra1 = &zero,
798   - .extra2 = &one,
  795 + .extra1 = SYSCTL_ZERO,
  796 + .extra2 = SYSCTL_ONE,
799 797 },
800 798 #endif
801 799 {
... ... @@ -864,7 +862,7 @@
864 862 .maxlen = sizeof(int),
865 863 .mode = 0644,
866 864 .proc_handler = proc_dointvec_minmax,
867   - .extra1 = &one
  865 + .extra1 = SYSCTL_ONE
868 866 },
869 867 #endif
870 868 {
... ... @@ -969,7 +967,7 @@
969 967 .maxlen = sizeof(int),
970 968 .mode = 0644,
971 969 .proc_handler = proc_dointvec_minmax,
972   - .extra1 = &zero,
  970 + .extra1 = SYSCTL_ZERO,
973 971 .extra2 = &two,
974 972 },
975 973 {
... ... @@ -1011,7 +1009,7 @@
1011 1009 .maxlen = sizeof(int),
1012 1010 .mode = 0644,
1013 1011 .proc_handler = proc_tfo_blackhole_detect_timeout,
1014   - .extra1 = &zero,
  1012 + .extra1 = SYSCTL_ZERO,
1015 1013 },
1016 1014 #ifdef CONFIG_IP_ROUTE_MULTIPATH
1017 1015 {
... ... @@ -1020,8 +1018,8 @@
1020 1018 .maxlen = sizeof(int),
1021 1019 .mode = 0644,
1022 1020 .proc_handler = proc_dointvec_minmax,
1023   - .extra1 = &zero,
1024   - .extra2 = &one,
  1021 + .extra1 = SYSCTL_ZERO,
  1022 + .extra2 = SYSCTL_ONE,
1025 1023 },
1026 1024 {
1027 1025 .procname = "fib_multipath_hash_policy",
... ... @@ -1029,8 +1027,8 @@
1029 1027 .maxlen = sizeof(int),
1030 1028 .mode = 0644,
1031 1029 .proc_handler = proc_fib_multipath_hash_policy,
1032   - .extra1 = &zero,
1033   - .extra2 = &two,
  1030 + .extra1 = SYSCTL_ZERO,
  1031 + .extra2 = SYSCTL_ONE,
1034 1032 },
1035 1033 #endif
1036 1034 {
... ... @@ -1047,8 +1045,8 @@
1047 1045 .maxlen = sizeof(int),
1048 1046 .mode = 0644,
1049 1047 .proc_handler = proc_dointvec_minmax,
1050   - .extra1 = &zero,
1051   - .extra2 = &one,
  1048 + .extra1 = SYSCTL_ZERO,
  1049 + .extra2 = SYSCTL_ONE,
1052 1050 },
1053 1051 #endif
1054 1052 {
... ... @@ -1078,7 +1076,7 @@
1078 1076 .maxlen = sizeof(int),
1079 1077 .mode = 0644,
1080 1078 .proc_handler = proc_dointvec_minmax,
1081   - .extra1 = &zero,
  1079 + .extra1 = SYSCTL_ZERO,
1082 1080 .extra2 = &four,
1083 1081 },
1084 1082 {
... ... @@ -1222,7 +1220,7 @@
1222 1220 .maxlen = sizeof(int),
1223 1221 .mode = 0644,
1224 1222 .proc_handler = proc_dointvec_minmax,
1225   - .extra1 = &one,
  1223 + .extra1 = SYSCTL_ONE,
1226 1224 .extra2 = &gso_max_segs,
1227 1225 },
1228 1226 {
... ... @@ -1231,7 +1229,7 @@
1231 1229 .maxlen = sizeof(int),
1232 1230 .mode = 0644,
1233 1231 .proc_handler = proc_dointvec_minmax,
1234   - .extra1 = &zero,
  1232 + .extra1 = SYSCTL_ZERO,
1235 1233 .extra2 = &one_day_secs
1236 1234 },
1237 1235 {
... ... @@ -1240,8 +1238,8 @@
1240 1238 .maxlen = sizeof(int),
1241 1239 .mode = 0644,
1242 1240 .proc_handler = proc_dointvec_minmax,
1243   - .extra1 = &zero,
1244   - .extra2 = &one,
  1241 + .extra1 = SYSCTL_ZERO,
  1242 + .extra2 = SYSCTL_ONE,
1245 1243 },
1246 1244 {
1247 1245 .procname = "tcp_invalid_ratelimit",
... ... @@ -1256,7 +1254,7 @@
1256 1254 .maxlen = sizeof(int),
1257 1255 .mode = 0644,
1258 1256 .proc_handler = proc_dointvec_minmax,
1259   - .extra1 = &zero,
  1257 + .extra1 = SYSCTL_ZERO,
1260 1258 .extra2 = &thousand,
1261 1259 },
1262 1260 {
... ... @@ -1265,7 +1263,7 @@
1265 1263 .maxlen = sizeof(int),
1266 1264 .mode = 0644,
1267 1265 .proc_handler = proc_dointvec_minmax,
1268   - .extra1 = &zero,
  1266 + .extra1 = SYSCTL_ZERO,
1269 1267 .extra2 = &thousand,
1270 1268 },
1271 1269 {
... ... @@ -1274,7 +1272,7 @@
1274 1272 .maxlen = sizeof(init_net.ipv4.sysctl_tcp_wmem),
1275 1273 .mode = 0644,
1276 1274 .proc_handler = proc_dointvec_minmax,
1277   - .extra1 = &one,
  1275 + .extra1 = SYSCTL_ONE,
1278 1276 },
1279 1277 {
1280 1278 .procname = "tcp_rmem",
... ... @@ -1282,7 +1280,7 @@
1282 1280 .maxlen = sizeof(init_net.ipv4.sysctl_tcp_rmem),
1283 1281 .mode = 0644,
1284 1282 .proc_handler = proc_dointvec_minmax,
1285   - .extra1 = &one,
  1283 + .extra1 = SYSCTL_ONE,
1286 1284 },
1287 1285 {
1288 1286 .procname = "tcp_comp_sack_delay_ns",
... ... @@ -1297,7 +1295,7 @@
1297 1295 .maxlen = sizeof(int),
1298 1296 .mode = 0644,
1299 1297 .proc_handler = proc_dointvec_minmax,
1300   - .extra1 = &zero,
  1298 + .extra1 = SYSCTL_ZERO,
1301 1299 .extra2 = &comp_sack_nr_max,
1302 1300 },
1303 1301 {
... ... @@ -1306,7 +1304,7 @@
1306 1304 .maxlen = sizeof(init_net.ipv4.sysctl_udp_rmem_min),
1307 1305 .mode = 0644,
1308 1306 .proc_handler = proc_dointvec_minmax,
1309   - .extra1 = &one
  1307 + .extra1 = SYSCTL_ONE
1310 1308 },
1311 1309 {
1312 1310 .procname = "udp_wmem_min",
... ... @@ -1314,7 +1312,7 @@
1314 1312 .maxlen = sizeof(init_net.ipv4.sysctl_udp_wmem_min),
1315 1313 .mode = 0644,
1316 1314 .proc_handler = proc_dointvec_minmax,
1317   - .extra1 = &one
  1315 + .extra1 = SYSCTL_ONE
1318 1316 },
1319 1317 { }
1320 1318 };
... ... @@ -6432,8 +6432,6 @@
6432 6432 }
6433 6433  
6434 6434 static int minus_one = -1;
6435   -static const int zero = 0;
6436   -static const int one = 1;
6437 6435 static const int two_five_five = 255;
6438 6436  
6439 6437 static const struct ctl_table addrconf_sysctl[] = {
... ... @@ -6450,7 +6448,7 @@
6450 6448 .maxlen = sizeof(int),
6451 6449 .mode = 0644,
6452 6450 .proc_handler = proc_dointvec_minmax,
6453   - .extra1 = (void *)&one,
  6451 + .extra1 = (void *)SYSCTL_ONE,
6454 6452 .extra2 = (void *)&two_five_five,
6455 6453 },
6456 6454 {
... ... @@ -6809,7 +6807,7 @@
6809 6807 .maxlen = sizeof(int),
6810 6808 .mode = 0644,
6811 6809 .proc_handler = proc_dointvec_minmax,
6812   - .extra1 = (void *)&zero,
  6810 + .extra1 = (void *)SYSCTL_ZERO,
6813 6811 .extra2 = (void *)&two_five_five,
6814 6812 },
6815 6813 {
... ... @@ -6031,9 +6031,6 @@
6031 6031 return 0;
6032 6032 }
6033 6033  
6034   -static int zero;
6035   -static int one = 1;
6036   -
6037 6034 static struct ctl_table ipv6_route_table_template[] = {
6038 6035 {
6039 6036 .procname = "flush",
... ... @@ -6111,8 +6108,8 @@
6111 6108 .maxlen = sizeof(int),
6112 6109 .mode = 0644,
6113 6110 .proc_handler = proc_dointvec_minmax,
6114   - .extra1 = &zero,
6115   - .extra2 = &one,
  6111 + .extra1 = SYSCTL_ZERO,
  6112 + .extra2 = SYSCTL_ONE,
6116 6113 },
6117 6114 { }
6118 6115 };
net/ipv6/sysctl_net_ipv6.c
... ... @@ -21,8 +21,6 @@
21 21 #include <net/calipso.h>
22 22 #endif
23 23  
24   -static int zero;
25   -static int one = 1;
26 24 static int flowlabel_reflect_max = 0x7;
27 25 static int auto_flowlabels_min;
28 26 static int auto_flowlabels_max = IP6_AUTO_FLOW_LABEL_MAX;
... ... @@ -115,7 +113,7 @@
115 113 .maxlen = sizeof(int),
116 114 .mode = 0644,
117 115 .proc_handler = proc_dointvec_minmax,
118   - .extra1 = &zero,
  116 + .extra1 = SYSCTL_ZERO,
119 117 .extra2 = &flowlabel_reflect_max,
120 118 },
121 119 {
... ... @@ -152,8 +150,8 @@
152 150 .maxlen = sizeof(int),
153 151 .mode = 0644,
154 152 .proc_handler = proc_rt6_multipath_hash_policy,
155   - .extra1 = &zero,
156   - .extra2 = &one,
  153 + .extra1 = SYSCTL_ZERO,
  154 + .extra2 = SYSCTL_ONE,
157 155 },
158 156 {
159 157 .procname = "seg6_flowlabel",
... ... @@ -179,7 +177,7 @@
179 177 .maxlen = sizeof(int),
180 178 .mode = 0644,
181 179 .proc_handler = proc_dointvec_minmax,
182   - .extra1 = &one
  180 + .extra1 = SYSCTL_ONE
183 181 },
184 182 #ifdef CONFIG_NETLABEL
185 183 {
... ... @@ -37,8 +37,6 @@
37 37  
38 38 #define MPLS_NEIGH_TABLE_UNSPEC (NEIGH_LINK_TABLE + 1)
39 39  
40   -static int zero = 0;
41   -static int one = 1;
42 40 static int label_limit = (1 << 20) - 1;
43 41 static int ttl_max = 255;
44 42  
... ... @@ -2607,7 +2605,7 @@
2607 2605 .data = &platform_labels,
2608 2606 .maxlen = sizeof(int),
2609 2607 .mode = table->mode,
2610   - .extra1 = &zero,
  2608 + .extra1 = SYSCTL_ZERO,
2611 2609 .extra2 = &label_limit,
2612 2610 };
2613 2611  
... ... @@ -2636,8 +2634,8 @@
2636 2634 .maxlen = sizeof(int),
2637 2635 .mode = 0644,
2638 2636 .proc_handler = proc_dointvec_minmax,
2639   - .extra1 = &zero,
2640   - .extra2 = &one,
  2637 + .extra1 = SYSCTL_ZERO,
  2638 + .extra2 = SYSCTL_ONE,
2641 2639 },
2642 2640 {
2643 2641 .procname = "default_ttl",
... ... @@ -2645,7 +2643,7 @@
2645 2643 .maxlen = sizeof(int),
2646 2644 .mode = 0644,
2647 2645 .proc_handler = proc_dointvec_minmax,
2648   - .extra1 = &one,
  2646 + .extra1 = SYSCTL_ONE,
2649 2647 .extra2 = &ttl_max,
2650 2648 },
2651 2649 { }
net/netfilter/ipvs/ip_vs_ctl.c
... ... @@ -1726,7 +1726,6 @@
1726 1726  
1727 1727 #ifdef CONFIG_SYSCTL
1728 1728  
1729   -static int zero;
1730 1729 static int three = 3;
1731 1730  
1732 1731 static int
... ... @@ -1935,7 +1934,7 @@
1935 1934 .maxlen = sizeof(int),
1936 1935 .mode = 0644,
1937 1936 .proc_handler = proc_dointvec_minmax,
1938   - .extra1 = &zero,
  1937 + .extra1 = SYSCTL_ZERO,
1939 1938 .extra2 = &three,
1940 1939 },
1941 1940 {
... ... @@ -11,7 +11,6 @@
11 11 #include "ar-internal.h"
12 12  
13 13 static struct ctl_table_header *rxrpc_sysctl_reg_table;
14   -static const unsigned int one = 1;
15 14 static const unsigned int four = 4;
16 15 static const unsigned int thirtytwo = 32;
17 16 static const unsigned int n_65535 = 65535;
... ... @@ -97,7 +96,7 @@
97 96 .maxlen = sizeof(unsigned int),
98 97 .mode = 0644,
99 98 .proc_handler = proc_dointvec_minmax,
100   - .extra1 = (void *)&one,
  99 + .extra1 = (void *)SYSCTL_ONE,
101 100 .extra2 = (void *)&rxrpc_max_client_connections,
102 101 },
103 102 {
... ... @@ -115,7 +114,7 @@
115 114 .maxlen = sizeof(unsigned int),
116 115 .mode = 0644,
117 116 .proc_handler = proc_dointvec_minmax,
118   - .extra1 = (void *)&one,
  117 + .extra1 = (void *)SYSCTL_ONE,
119 118 .extra2 = (void *)&n_max_acks,
120 119 },
121 120 {
... ... @@ -124,7 +123,7 @@
124 123 .maxlen = sizeof(unsigned int),
125 124 .mode = 0644,
126 125 .proc_handler = proc_dointvec_minmax,
127   - .extra1 = (void *)&one,
  126 + .extra1 = (void *)SYSCTL_ONE,
128 127 .extra2 = (void *)&n_65535,
129 128 },
130 129 {
... ... @@ -133,7 +132,7 @@
133 132 .maxlen = sizeof(unsigned int),
134 133 .mode = 0644,
135 134 .proc_handler = proc_dointvec_minmax,
136   - .extra1 = (void *)&one,
  135 + .extra1 = (void *)SYSCTL_ONE,
137 136 .extra2 = (void *)&four,
138 137 },
139 138  
... ... @@ -25,10 +25,7 @@
25 25 #include <net/sctp/sctp.h>
26 26 #include <linux/sysctl.h>
27 27  
28   -static int zero = 0;
29   -static int one = 1;
30 28 static int timer_max = 86400000; /* ms in one day */
31   -static int int_max = INT_MAX;
32 29 static int sack_timer_min = 1;
33 30 static int sack_timer_max = 500;
34 31 static int addr_scope_max = SCTP_SCOPE_POLICY_MAX;
... ... @@ -92,7 +89,7 @@
92 89 .maxlen = sizeof(unsigned int),
93 90 .mode = 0644,
94 91 .proc_handler = proc_dointvec_minmax,
95   - .extra1 = &one,
  92 + .extra1 = SYSCTL_ONE,
96 93 .extra2 = &timer_max
97 94 },
98 95 {
... ... @@ -101,7 +98,7 @@
101 98 .maxlen = sizeof(unsigned int),
102 99 .mode = 0644,
103 100 .proc_handler = proc_sctp_do_rto_min,
104   - .extra1 = &one,
  101 + .extra1 = SYSCTL_ONE,
105 102 .extra2 = &init_net.sctp.rto_max
106 103 },
107 104 {
... ... @@ -137,8 +134,8 @@
137 134 .maxlen = sizeof(int),
138 135 .mode = 0644,
139 136 .proc_handler = proc_dointvec_minmax,
140   - .extra1 = &zero,
141   - .extra2 = &int_max
  137 + .extra1 = SYSCTL_ZERO,
  138 + .extra2 = SYSCTL_INT_MAX,
142 139 },
143 140 {
144 141 .procname = "cookie_preserve_enable",
... ... @@ -160,7 +157,7 @@
160 157 .maxlen = sizeof(unsigned int),
161 158 .mode = 0644,
162 159 .proc_handler = proc_dointvec_minmax,
163   - .extra1 = &one,
  160 + .extra1 = SYSCTL_ONE,
164 161 .extra2 = &timer_max
165 162 },
166 163 {
... ... @@ -178,7 +175,7 @@
178 175 .maxlen = sizeof(unsigned int),
179 176 .mode = 0644,
180 177 .proc_handler = proc_dointvec_minmax,
181   - .extra1 = &one,
  178 + .extra1 = SYSCTL_ONE,
182 179 .extra2 = &timer_max
183 180 },
184 181 {
... ... @@ -187,8 +184,8 @@
187 184 .maxlen = sizeof(int),
188 185 .mode = 0644,
189 186 .proc_handler = proc_dointvec_minmax,
190   - .extra1 = &one,
191   - .extra2 = &int_max
  187 + .extra1 = SYSCTL_ONE,
  188 + .extra2 = SYSCTL_INT_MAX,
192 189 },
193 190 {
194 191 .procname = "path_max_retrans",
... ... @@ -196,8 +193,8 @@
196 193 .maxlen = sizeof(int),
197 194 .mode = 0644,
198 195 .proc_handler = proc_dointvec_minmax,
199   - .extra1 = &one,
200   - .extra2 = &int_max
  196 + .extra1 = SYSCTL_ONE,
  197 + .extra2 = SYSCTL_INT_MAX,
201 198 },
202 199 {
203 200 .procname = "max_init_retransmits",
... ... @@ -205,8 +202,8 @@
205 202 .maxlen = sizeof(int),
206 203 .mode = 0644,
207 204 .proc_handler = proc_dointvec_minmax,
208   - .extra1 = &one,
209   - .extra2 = &int_max
  205 + .extra1 = SYSCTL_ONE,
  206 + .extra2 = SYSCTL_INT_MAX,
210 207 },
211 208 {
212 209 .procname = "pf_retrans",
... ... @@ -214,8 +211,8 @@
214 211 .maxlen = sizeof(int),
215 212 .mode = 0644,
216 213 .proc_handler = proc_dointvec_minmax,
217   - .extra1 = &zero,
218   - .extra2 = &int_max
  214 + .extra1 = SYSCTL_ZERO,
  215 + .extra2 = SYSCTL_INT_MAX,
219 216 },
220 217 {
221 218 .procname = "sndbuf_policy",
... ... @@ -286,7 +283,7 @@
286 283 .maxlen = sizeof(int),
287 284 .mode = 0644,
288 285 .proc_handler = proc_dointvec_minmax,
289   - .extra1 = &zero,
  286 + .extra1 = SYSCTL_ZERO,
290 287 .extra2 = &addr_scope_max,
291 288 },
292 289 {
... ... @@ -295,7 +292,7 @@
295 292 .maxlen = sizeof(int),
296 293 .mode = 0644,
297 294 .proc_handler = &proc_dointvec_minmax,
298   - .extra1 = &one,
  295 + .extra1 = SYSCTL_ONE,
299 296 .extra2 = &rwnd_scale_max,
300 297 },
301 298 {
net/sunrpc/xprtrdma/transport.c
... ... @@ -80,7 +80,6 @@
80 80 static unsigned int max_slot_table_size = RPCRDMA_MAX_SLOT_TABLE;
81 81 static unsigned int min_inline_size = RPCRDMA_MIN_INLINE;
82 82 static unsigned int max_inline_size = RPCRDMA_MAX_INLINE;
83   -static unsigned int zero;
84 83 static unsigned int max_padding = PAGE_SIZE;
85 84 static unsigned int min_memreg = RPCRDMA_BOUNCEBUFFERS;
86 85 static unsigned int max_memreg = RPCRDMA_LAST - 1;
... ... @@ -122,7 +121,7 @@
122 121 .maxlen = sizeof(unsigned int),
123 122 .mode = 0644,
124 123 .proc_handler = proc_dointvec_minmax,
125   - .extra1 = &zero,
  124 + .extra1 = SYSCTL_ZERO,
126 125 .extra2 = &max_padding,
127 126 },
128 127 {
... ... @@ -38,8 +38,6 @@
38 38  
39 39 #include <linux/sysctl.h>
40 40  
41   -static int zero;
42   -static int one = 1;
43 41 static struct ctl_table_header *tipc_ctl_hdr;
44 42  
45 43 static struct ctl_table tipc_table[] = {
... ... @@ -49,7 +47,7 @@
49 47 .maxlen = sizeof(sysctl_tipc_rmem),
50 48 .mode = 0644,
51 49 .proc_handler = proc_dointvec_minmax,
52   - .extra1 = &one,
  50 + .extra1 = SYSCTL_ONE,
53 51 },
54 52 {
55 53 .procname = "named_timeout",
... ... @@ -57,7 +55,7 @@
57 55 .maxlen = sizeof(sysctl_tipc_named_timeout),
58 56 .mode = 0644,
59 57 .proc_handler = proc_dointvec_minmax,
60   - .extra1 = &zero,
  58 + .extra1 = SYSCTL_ZERO,
61 59 },
62 60 {
63 61 .procname = "sk_filter",
security/keys/sysctl.c
... ... @@ -9,8 +9,6 @@
9 9 #include <linux/sysctl.h>
10 10 #include "internal.h"
11 11  
12   -static const int zero, one = 1, max = INT_MAX;
13   -
14 12 struct ctl_table key_sysctls[] = {
15 13 {
16 14 .procname = "maxkeys",
... ... @@ -18,8 +16,8 @@
18 16 .maxlen = sizeof(unsigned),
19 17 .mode = 0644,
20 18 .proc_handler = proc_dointvec_minmax,
21   - .extra1 = (void *) &one,
22   - .extra2 = (void *) &max,
  19 + .extra1 = (void *) SYSCTL_ONE,
  20 + .extra2 = (void *) SYSCTL_INT_MAX,
23 21 },
24 22 {
25 23 .procname = "maxbytes",
... ... @@ -27,8 +25,8 @@
27 25 .maxlen = sizeof(unsigned),
28 26 .mode = 0644,
29 27 .proc_handler = proc_dointvec_minmax,
30   - .extra1 = (void *) &one,
31   - .extra2 = (void *) &max,
  28 + .extra1 = (void *) SYSCTL_ONE,
  29 + .extra2 = (void *) SYSCTL_INT_MAX,
32 30 },
33 31 {
34 32 .procname = "root_maxkeys",
... ... @@ -36,8 +34,8 @@
36 34 .maxlen = sizeof(unsigned),
37 35 .mode = 0644,
38 36 .proc_handler = proc_dointvec_minmax,
39   - .extra1 = (void *) &one,
40   - .extra2 = (void *) &max,
  37 + .extra1 = (void *) SYSCTL_ONE,
  38 + .extra2 = (void *) SYSCTL_INT_MAX,
41 39 },
42 40 {
43 41 .procname = "root_maxbytes",
... ... @@ -45,8 +43,8 @@
45 43 .maxlen = sizeof(unsigned),
46 44 .mode = 0644,
47 45 .proc_handler = proc_dointvec_minmax,
48   - .extra1 = (void *) &one,
49   - .extra2 = (void *) &max,
  46 + .extra1 = (void *) SYSCTL_ONE,
  47 + .extra2 = (void *) SYSCTL_INT_MAX,
50 48 },
51 49 {
52 50 .procname = "gc_delay",
... ... @@ -54,8 +52,8 @@
54 52 .maxlen = sizeof(unsigned),
55 53 .mode = 0644,
56 54 .proc_handler = proc_dointvec_minmax,
57   - .extra1 = (void *) &zero,
58   - .extra2 = (void *) &max,
  55 + .extra1 = (void *) SYSCTL_ZERO,
  56 + .extra2 = (void *) SYSCTL_INT_MAX,
59 57 },
60 58 #ifdef CONFIG_PERSISTENT_KEYRINGS
61 59 {
... ... @@ -64,8 +62,8 @@
64 62 .maxlen = sizeof(unsigned),
65 63 .mode = 0644,
66 64 .proc_handler = proc_dointvec_minmax,
67   - .extra1 = (void *) &zero,
68   - .extra2 = (void *) &max,
  65 + .extra1 = (void *) SYSCTL_ZERO,
  66 + .extra2 = (void *) SYSCTL_INT_MAX,
69 67 },
70 68 #endif
71 69 { }
security/loadpin/loadpin.c
... ... @@ -43,8 +43,6 @@
43 43 static DEFINE_SPINLOCK(pinned_root_spinlock);
44 44  
45 45 #ifdef CONFIG_SYSCTL
46   -static int zero;
47   -static int one = 1;
48 46  
49 47 static struct ctl_path loadpin_sysctl_path[] = {
50 48 { .procname = "kernel", },
... ... @@ -59,8 +57,8 @@
59 57 .maxlen = sizeof(int),
60 58 .mode = 0644,
61 59 .proc_handler = proc_dointvec_minmax,
62   - .extra1 = &zero,
63   - .extra2 = &one,
  60 + .extra1 = SYSCTL_ZERO,
  61 + .extra2 = SYSCTL_ONE,
64 62 },
65 63 { }
66 64 };
security/yama/yama_lsm.c
... ... @@ -445,7 +445,6 @@
445 445 return proc_dointvec_minmax(&table_copy, write, buffer, lenp, ppos);
446 446 }
447 447  
448   -static int zero;
449 448 static int max_scope = YAMA_SCOPE_NO_ATTACH;
450 449  
451 450 static struct ctl_path yama_sysctl_path[] = {
... ... @@ -461,7 +460,7 @@
461 460 .maxlen = sizeof(int),
462 461 .mode = 0644,
463 462 .proc_handler = yama_dointvec_minmax,
464   - .extra1 = &zero,
  463 + .extra1 = SYSCTL_ZERO,
465 464 .extra2 = &max_scope,
466 465 },
467 466 { }