aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sysctl_binary.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-09-14 21:13:32 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-09-14 21:13:32 -0400
commit581bfce969cbfc7ce43ee92273be9cb7c3fdfa61 (patch)
tree0a693778ce39c49b9b7d93d0d6795c576896f5cf /kernel/sysctl_binary.c
parentcc73fee0bae2d66594d1fa2df92bbd783aa98e04 (diff)
parent9725d4cef62229b4ec4c912e0db0761e7d400650 (diff)
Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull more set_fs removal from Al Viro: "Christoph's 'use kernel_read and friends rather than open-coding set_fs()' series" * 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: fs: unexport vfs_readv and vfs_writev fs: unexport vfs_read and vfs_write fs: unexport __vfs_read/__vfs_write lustre: switch to kernel_write gadget/f_mass_storage: stop messing with the address limit mconsole: switch to kernel_read btrfs: switch write_buf to kernel_write net/9p: switch p9_fd_read to kernel_write mm/nommu: switch do_mmap_private to kernel_read serial2002: switch serial2002_tty_write to kernel_{read/write} fs: make the buf argument to __kernel_write a void pointer fs: fix kernel_write prototype fs: fix kernel_read prototype fs: move kernel_read to fs/read_write.c fs: move kernel_write to fs/read_write.c autofs4: switch autofs4_write to __kernel_write ashmem: switch to ->read_iter
Diffstat (limited to 'kernel/sysctl_binary.c')
-rw-r--r--kernel/sysctl_binary.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/kernel/sysctl_binary.c b/kernel/sysctl_binary.c
index 02e1859f2ca8..58ea8c03662e 100644
--- a/kernel/sysctl_binary.c
+++ b/kernel/sysctl_binary.c
@@ -986,8 +986,9 @@ static ssize_t bin_intvec(struct file *file,
986 size_t length = oldlen / sizeof(*vec); 986 size_t length = oldlen / sizeof(*vec);
987 char *str, *end; 987 char *str, *end;
988 int i; 988 int i;
989 loff_t pos = 0;
989 990
990 result = kernel_read(file, 0, buffer, BUFSZ - 1); 991 result = kernel_read(file, buffer, BUFSZ - 1, &pos);
991 if (result < 0) 992 if (result < 0)
992 goto out_kfree; 993 goto out_kfree;
993 994
@@ -1016,6 +1017,7 @@ static ssize_t bin_intvec(struct file *file,
1016 size_t length = newlen / sizeof(*vec); 1017 size_t length = newlen / sizeof(*vec);
1017 char *str, *end; 1018 char *str, *end;
1018 int i; 1019 int i;
1020 loff_t pos = 0;
1019 1021
1020 str = buffer; 1022 str = buffer;
1021 end = str + BUFSZ; 1023 end = str + BUFSZ;
@@ -1029,7 +1031,7 @@ static ssize_t bin_intvec(struct file *file,
1029 str += scnprintf(str, end - str, "%lu\t", value); 1031 str += scnprintf(str, end - str, "%lu\t", value);
1030 } 1032 }
1031 1033
1032 result = kernel_write(file, buffer, str - buffer, 0); 1034 result = kernel_write(file, buffer, str - buffer, &pos);
1033 if (result < 0) 1035 if (result < 0)
1034 goto out_kfree; 1036 goto out_kfree;
1035 } 1037 }
@@ -1057,8 +1059,9 @@ static ssize_t bin_ulongvec(struct file *file,
1057 size_t length = oldlen / sizeof(*vec); 1059 size_t length = oldlen / sizeof(*vec);
1058 char *str, *end; 1060 char *str, *end;
1059 int i; 1061 int i;
1062 loff_t pos = 0;
1060 1063
1061 result = kernel_read(file, 0, buffer, BUFSZ - 1); 1064 result = kernel_read(file, buffer, BUFSZ - 1, &pos);
1062 if (result < 0) 1065 if (result < 0)
1063 goto out_kfree; 1066 goto out_kfree;
1064 1067
@@ -1087,6 +1090,7 @@ static ssize_t bin_ulongvec(struct file *file,
1087 size_t length = newlen / sizeof(*vec); 1090 size_t length = newlen / sizeof(*vec);
1088 char *str, *end; 1091 char *str, *end;
1089 int i; 1092 int i;
1093 loff_t pos = 0;
1090 1094
1091 str = buffer; 1095 str = buffer;
1092 end = str + BUFSZ; 1096 end = str + BUFSZ;
@@ -1100,7 +1104,7 @@ static ssize_t bin_ulongvec(struct file *file,
1100 str += scnprintf(str, end - str, "%lu\t", value); 1104 str += scnprintf(str, end - str, "%lu\t", value);
1101 } 1105 }
1102 1106
1103 result = kernel_write(file, buffer, str - buffer, 0); 1107 result = kernel_write(file, buffer, str - buffer, &pos);
1104 if (result < 0) 1108 if (result < 0)
1105 goto out_kfree; 1109 goto out_kfree;
1106 } 1110 }
@@ -1120,8 +1124,9 @@ static ssize_t bin_uuid(struct file *file,
1120 if (oldval && oldlen) { 1124 if (oldval && oldlen) {
1121 char buf[UUID_STRING_LEN + 1]; 1125 char buf[UUID_STRING_LEN + 1];
1122 uuid_t uuid; 1126 uuid_t uuid;
1127 loff_t pos = 0;
1123 1128
1124 result = kernel_read(file, 0, buf, sizeof(buf) - 1); 1129 result = kernel_read(file, buf, sizeof(buf) - 1, &pos);
1125 if (result < 0) 1130 if (result < 0)
1126 goto out; 1131 goto out;
1127 1132
@@ -1154,8 +1159,9 @@ static ssize_t bin_dn_node_address(struct file *file,
1154 char buf[15], *nodep; 1159 char buf[15], *nodep;
1155 unsigned long area, node; 1160 unsigned long area, node;
1156 __le16 dnaddr; 1161 __le16 dnaddr;
1162 loff_t pos = 0;
1157 1163
1158 result = kernel_read(file, 0, buf, sizeof(buf) - 1); 1164 result = kernel_read(file, buf, sizeof(buf) - 1, &pos);
1159 if (result < 0) 1165 if (result < 0)
1160 goto out; 1166 goto out;
1161 1167
@@ -1188,6 +1194,7 @@ static ssize_t bin_dn_node_address(struct file *file,
1188 __le16 dnaddr; 1194 __le16 dnaddr;
1189 char buf[15]; 1195 char buf[15];
1190 int len; 1196 int len;
1197 loff_t pos = 0;
1191 1198
1192 result = -EINVAL; 1199 result = -EINVAL;
1193 if (newlen != sizeof(dnaddr)) 1200 if (newlen != sizeof(dnaddr))
@@ -1201,7 +1208,7 @@ static ssize_t bin_dn_node_address(struct file *file,
1201 le16_to_cpu(dnaddr) >> 10, 1208 le16_to_cpu(dnaddr) >> 10,
1202 le16_to_cpu(dnaddr) & 0x3ff); 1209 le16_to_cpu(dnaddr) & 0x3ff);
1203 1210
1204 result = kernel_write(file, buf, len, 0); 1211 result = kernel_write(file, buf, len, &pos);
1205 if (result < 0) 1212 if (result < 0)
1206 goto out; 1213 goto out;
1207 } 1214 }