Skip to content

Commit 2374c09

Browse files
Christoph HellwigAl Viro
authored andcommitted
sysctl: remove all extern declaration from sysctl.c
Extern declarations in .c files are a bad style and can lead to mismatches. Use existing definitions in headers where they exist, and otherwise move the external declarations to suitable header files. Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Al Viro <[email protected]>
1 parent 26363af commit 2374c09

File tree

7 files changed

+24
-42
lines changed

7 files changed

+24
-42
lines changed

include/linux/coredump.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,8 @@ extern void do_coredump(const kernel_siginfo_t *siginfo);
2222
static inline void do_coredump(const kernel_siginfo_t *siginfo) {}
2323
#endif
2424

25+
extern int core_uses_pid;
26+
extern char core_pattern[];
27+
extern unsigned int core_pipe_limit;
28+
2529
#endif /* _LINUX_COREDUMP_H */

include/linux/file.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,6 @@ extern void fd_install(unsigned int fd, struct file *file);
9494
extern void flush_delayed_fput(void);
9595
extern void __fput_sync(struct file *);
9696

97+
extern unsigned int sysctl_nr_open_min, sysctl_nr_open_max;
98+
9799
#endif /* __LINUX_FILE_H */

include/linux/mm.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3140,5 +3140,7 @@ unsigned long wp_shared_mapping_range(struct address_space *mapping,
31403140
pgoff_t first_index, pgoff_t nr);
31413141
#endif
31423142

3143+
extern int sysctl_nr_trim_pages;
3144+
31433145
#endif /* __KERNEL__ */
31443146
#endif /* _LINUX_MM_H */

include/linux/mmzone.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -909,6 +909,7 @@ static inline int is_highmem(struct zone *zone)
909909

910910
/* These two functions are used to setup the per zone pages min values */
911911
struct ctl_table;
912+
912913
int min_free_kbytes_sysctl_handler(struct ctl_table *, int,
913914
void __user *, size_t *, loff_t *);
914915
int watermark_scale_factor_sysctl_handler(struct ctl_table *, int,
@@ -925,6 +926,7 @@ int sysctl_min_slab_ratio_sysctl_handler(struct ctl_table *, int,
925926

926927
extern int numa_zonelist_order_handler(struct ctl_table *, int,
927928
void __user *, size_t *, loff_t *);
929+
extern int percpu_pagelist_fraction;
928930
extern char numa_zonelist_order[];
929931
#define NUMA_ZONELIST_ORDER_LEN 16
930932

include/linux/pid.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ extern void transfer_pid(struct task_struct *old, struct task_struct *new,
108108
struct pid_namespace;
109109
extern struct pid_namespace init_pid_ns;
110110

111+
extern int pid_max;
112+
extern int pid_max_min, pid_max_max;
113+
111114
/*
112115
* look up a PID in the hash table. Must be called with the tasklist_lock
113116
* or rcu_read_lock() held.

include/linux/sysctl.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,15 @@ void unregister_sysctl_table(struct ctl_table_header * table);
207207

208208
extern int sysctl_init(void);
209209

210+
extern int pwrsw_enabled;
211+
extern int unaligned_enabled;
212+
extern int unaligned_dump_stack;
213+
extern int no_unaligned_warning;
214+
210215
extern struct ctl_table sysctl_mount_point[];
216+
extern struct ctl_table random_table[];
217+
extern struct ctl_table firmware_config_table[];
218+
extern struct ctl_table epoll_table[];
211219

212220
#else /* CONFIG_SYSCTL */
213221
static inline struct ctl_table_header *register_sysctl_table(struct ctl_table * table)

kernel/sysctl.c

Lines changed: 3 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@
6868
#include <linux/bpf.h>
6969
#include <linux/mount.h>
7070
#include <linux/userfaultfd_k.h>
71+
#include <linux/coredump.h>
72+
#include <linux/latencytop.h>
73+
#include <linux/pid.h>
7174

7275
#include "../lib/kstrtox.h"
7376

@@ -103,22 +106,6 @@
103106

104107
#if defined(CONFIG_SYSCTL)
105108

106-
/* External variables not in a header file. */
107-
extern int suid_dumpable;
108-
#ifdef CONFIG_COREDUMP
109-
extern int core_uses_pid;
110-
extern char core_pattern[];
111-
extern unsigned int core_pipe_limit;
112-
#endif
113-
extern int pid_max;
114-
extern int pid_max_min, pid_max_max;
115-
extern int percpu_pagelist_fraction;
116-
extern int latencytop_enabled;
117-
extern unsigned int sysctl_nr_open_min, sysctl_nr_open_max;
118-
#ifndef CONFIG_MMU
119-
extern int sysctl_nr_trim_pages;
120-
#endif
121-
122109
/* Constants used for minimum and maximum */
123110
#ifdef CONFIG_LOCKUP_DETECTOR
124111
static int sixty = 60;
@@ -160,24 +147,6 @@ static unsigned long hung_task_timeout_max = (LONG_MAX/HZ);
160147
#ifdef CONFIG_INOTIFY_USER
161148
#include <linux/inotify.h>
162149
#endif
163-
#ifdef CONFIG_SPARC
164-
#endif
165-
166-
#ifdef CONFIG_PARISC
167-
extern int pwrsw_enabled;
168-
#endif
169-
170-
#ifdef CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW
171-
extern int unaligned_enabled;
172-
#endif
173-
174-
#ifdef CONFIG_IA64
175-
extern int unaligned_dump_stack;
176-
#endif
177-
178-
#ifdef CONFIG_SYSCTL_ARCH_UNALIGN_NO_WARN
179-
extern int no_unaligned_warning;
180-
#endif
181150

182151
#ifdef CONFIG_PROC_SYSCTL
183152

@@ -243,14 +212,6 @@ static struct ctl_table vm_table[];
243212
static struct ctl_table fs_table[];
244213
static struct ctl_table debug_table[];
245214
static struct ctl_table dev_table[];
246-
extern struct ctl_table random_table[];
247-
#ifdef CONFIG_EPOLL
248-
extern struct ctl_table epoll_table[];
249-
#endif
250-
251-
#ifdef CONFIG_FW_LOADER_USER_HELPER
252-
extern struct ctl_table firmware_config_table[];
253-
#endif
254215

255216
#if defined(HAVE_ARCH_PICK_MMAP_LAYOUT) || \
256217
defined(CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT)

0 commit comments

Comments
 (0)