hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/net/atm/mpoa_proc.c
....@@ -53,15 +53,12 @@
5353
5454 static int parse_qos(const char *buff);
5555
56
-/*
57
- * Define allowed FILE OPERATIONS
58
- */
59
-static const struct file_operations mpc_file_operations = {
60
- .open = proc_mpc_open,
61
- .read = seq_read,
62
- .llseek = seq_lseek,
63
- .write = proc_mpc_write,
64
- .release = seq_release,
56
+static const struct proc_ops mpc_proc_ops = {
57
+ .proc_open = proc_mpc_open,
58
+ .proc_read = seq_read,
59
+ .proc_lseek = seq_lseek,
60
+ .proc_write = proc_mpc_write,
61
+ .proc_release = seq_release,
6562 };
6663
6764 /*
....@@ -222,11 +219,12 @@
222219 if (!page)
223220 return -ENOMEM;
224221
225
- for (p = page, len = 0; len < nbytes; p++, len++) {
222
+ for (p = page, len = 0; len < nbytes; p++) {
226223 if (get_user(*p, buff++)) {
227224 free_page((unsigned long)page);
228225 return -EFAULT;
229226 }
227
+ len += 1;
230228 if (*p == '\0' || *p == '\n')
231229 break;
232230 }
....@@ -290,7 +288,7 @@
290288 {
291289 struct proc_dir_entry *p;
292290
293
- p = proc_create(STAT_FILE_NAME, 0, atm_proc_root, &mpc_file_operations);
291
+ p = proc_create(STAT_FILE_NAME, 0, atm_proc_root, &mpc_proc_ops);
294292 if (!p) {
295293 pr_err("Unable to initialize /proc/atm/%s\n", STAT_FILE_NAME);
296294 return -ENOMEM;