Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Matteo Croce and committed by
Linus Torvalds
eec4844f 37109694

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