Commit 2bc4657c15e4a33d9a192579c7627a397dbcbebc

Authored by Eric W. Biederman
1 parent a153cf9dd0

sysctl ipc: Remove dead binary sysctl support code.

Now that sys_sysctl is a generic wrapper around /proc/sys  .ctl_name
and .strategy members of sysctl tables are dead code.  Remove them.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>

Showing 2 changed files with 3 additions and 81 deletions Side-by-side Diff

... ... @@ -129,136 +129,60 @@
129 129 #define proc_ipcauto_dointvec_minmax NULL
130 130 #endif
131 131  
132   -#ifdef CONFIG_SYSCTL_SYSCALL
133   -/* The generic sysctl ipc data routine. */
134   -static int sysctl_ipc_data(ctl_table *table,
135   - void __user *oldval, size_t __user *oldlenp,
136   - void __user *newval, size_t newlen)
137   -{
138   - size_t len;
139   - void *data;
140   -
141   - /* Get out of I don't have a variable */
142   - if (!table->data || !table->maxlen)
143   - return -ENOTDIR;
144   -
145   - data = get_ipc(table);
146   - if (!data)
147   - return -ENOTDIR;
148   -
149   - if (oldval && oldlenp) {
150   - if (get_user(len, oldlenp))
151   - return -EFAULT;
152   - if (len) {
153   - if (len > table->maxlen)
154   - len = table->maxlen;
155   - if (copy_to_user(oldval, data, len))
156   - return -EFAULT;
157   - if (put_user(len, oldlenp))
158   - return -EFAULT;
159   - }
160   - }
161   -
162   - if (newval && newlen) {
163   - if (newlen > table->maxlen)
164   - newlen = table->maxlen;
165   -
166   - if (copy_from_user(data, newval, newlen))
167   - return -EFAULT;
168   - }
169   - return 1;
170   -}
171   -
172   -static int sysctl_ipc_registered_data(ctl_table *table,
173   - void __user *oldval, size_t __user *oldlenp,
174   - void __user *newval, size_t newlen)
175   -{
176   - int rc;
177   -
178   - rc = sysctl_ipc_data(table, oldval, oldlenp, newval, newlen);
179   -
180   - if (newval && newlen && rc > 0)
181   - /*
182   - * Tunable has successfully been changed from userland
183   - */
184   - unregister_ipcns_notifier(current->nsproxy->ipc_ns);
185   -
186   - return rc;
187   -}
188   -#else
189   -#define sysctl_ipc_data NULL
190   -#define sysctl_ipc_registered_data NULL
191   -#endif
192   -
193 132 static int zero;
194 133 static int one = 1;
195 134  
196 135 static struct ctl_table ipc_kern_table[] = {
197 136 {
198   - .ctl_name = KERN_SHMMAX,
199 137 .procname = "shmmax",
200 138 .data = &init_ipc_ns.shm_ctlmax,
201 139 .maxlen = sizeof (init_ipc_ns.shm_ctlmax),
202 140 .mode = 0644,
203 141 .proc_handler = proc_ipc_doulongvec_minmax,
204   - .strategy = sysctl_ipc_data,
205 142 },
206 143 {
207   - .ctl_name = KERN_SHMALL,
208 144 .procname = "shmall",
209 145 .data = &init_ipc_ns.shm_ctlall,
210 146 .maxlen = sizeof (init_ipc_ns.shm_ctlall),
211 147 .mode = 0644,
212 148 .proc_handler = proc_ipc_doulongvec_minmax,
213   - .strategy = sysctl_ipc_data,
214 149 },
215 150 {
216   - .ctl_name = KERN_SHMMNI,
217 151 .procname = "shmmni",
218 152 .data = &init_ipc_ns.shm_ctlmni,
219 153 .maxlen = sizeof (init_ipc_ns.shm_ctlmni),
220 154 .mode = 0644,
221 155 .proc_handler = proc_ipc_dointvec,
222   - .strategy = sysctl_ipc_data,
223 156 },
224 157 {
225   - .ctl_name = KERN_MSGMAX,
226 158 .procname = "msgmax",
227 159 .data = &init_ipc_ns.msg_ctlmax,
228 160 .maxlen = sizeof (init_ipc_ns.msg_ctlmax),
229 161 .mode = 0644,
230 162 .proc_handler = proc_ipc_dointvec,
231   - .strategy = sysctl_ipc_data,
232 163 },
233 164 {
234   - .ctl_name = KERN_MSGMNI,
235 165 .procname = "msgmni",
236 166 .data = &init_ipc_ns.msg_ctlmni,
237 167 .maxlen = sizeof (init_ipc_ns.msg_ctlmni),
238 168 .mode = 0644,
239 169 .proc_handler = proc_ipc_callback_dointvec,
240   - .strategy = sysctl_ipc_registered_data,
241 170 },
242 171 {
243   - .ctl_name = KERN_MSGMNB,
244 172 .procname = "msgmnb",
245 173 .data = &init_ipc_ns.msg_ctlmnb,
246 174 .maxlen = sizeof (init_ipc_ns.msg_ctlmnb),
247 175 .mode = 0644,
248 176 .proc_handler = proc_ipc_dointvec,
249   - .strategy = sysctl_ipc_data,
250 177 },
251 178 {
252   - .ctl_name = KERN_SEM,
253 179 .procname = "sem",
254 180 .data = &init_ipc_ns.sem_ctls,
255 181 .maxlen = 4*sizeof (int),
256 182 .mode = 0644,
257 183 .proc_handler = proc_ipc_dointvec,
258   - .strategy = sysctl_ipc_data,
259 184 },
260 185 {
261   - .ctl_name = CTL_UNNUMBERED,
262 186 .procname = "auto_msgmni",
263 187 .data = &init_ipc_ns.auto_msgmni,
264 188 .maxlen = sizeof(int),
... ... @@ -272,7 +196,6 @@
272 196  
273 197 static struct ctl_table ipc_root_table[] = {
274 198 {
275   - .ctl_name = CTL_KERN,
276 199 .procname = "kernel",
277 200 .mode = 0555,
278 201 .child = ipc_kern_table,
... ... @@ -88,7 +88,7 @@
88 88 .extra1 = &msg_maxsize_limit_min,
89 89 .extra2 = &msg_maxsize_limit_max,
90 90 },
91   - { .ctl_name = 0 }
  91 + {}
92 92 };
93 93  
94 94 static ctl_table mq_sysctl_dir[] = {
95 95  
96 96  
... ... @@ -97,17 +97,16 @@
97 97 .mode = 0555,
98 98 .child = mq_sysctls,
99 99 },
100   - { .ctl_name = 0 }
  100 + {}
101 101 };
102 102  
103 103 static ctl_table mq_sysctl_root[] = {
104 104 {
105   - .ctl_name = CTL_FS,
106 105 .procname = "fs",
107 106 .mode = 0555,
108 107 .child = mq_sysctl_dir,
109 108 },
110   - { .ctl_name = 0 }
  109 + {}
111 110 };
112 111  
113 112 struct ctl_table_header *mq_register_sysctl_table(void)