History

fs: fix kernel_read prototype

Use proper ssize_t and size_t types for the return value and count argument, move the offset last and make it an in/out argument like all other read/write helpers, and make the buf argument a void pointer to get rid of lots of casts in the callers.

Christoph Hellwig committed 9 years ago

Commit bdd1d2d1 parent c41fbad17 files · +69 −71Browse files

Showing the changes to kernel/sysctl_binary.c (1 of 17 files). Show all

Unified · Split

kernel/sysctl_binary.c+8−4
@@ -986,8 +986,9 @@ static ssize_t bin_intvec(struct file *file, · 985 unmodified lines
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
@@ -1057,8 +1058,9 @@ static ssize_t bin_ulongvec(struct file *file, · 63 unmodified lines
1057 size_t length = oldlen / sizeof(*vec);1058 size_t length = oldlen / sizeof(*vec);
1058 char *str, *end;1059 char *str, *end;
1059 int i;1060 int i;
1061 loff_t pos = 0;
1060 1062
1061 result = kernel_read(file, 0, buffer, BUFSZ - 1);1063 result = kernel_read(file, buffer, BUFSZ - 1, &pos);
1062 if (result < 0)1064 if (result < 0)
1063 goto out_kfree;1065 goto out_kfree;
1064 1066
@@ -1120,8 +1122,9 @@ static ssize_t bin_uuid(struct file *file, · 55 unmodified lines
1120 if (oldval && oldlen) {1122 if (oldval && oldlen) {
1121 char buf[UUID_STRING_LEN + 1];1123 char buf[UUID_STRING_LEN + 1];
1122 uuid_t uuid;1124 uuid_t uuid;
1125 loff_t pos = 0;
1123 1126
1124 result = kernel_read(file, 0, buf, sizeof(buf) - 1);1127 result = kernel_read(file, buf, sizeof(buf) - 1, &pos);
1125 if (result < 0)1128 if (result < 0)
1126 goto out;1129 goto out;
1127 1130
@@ -1154,8 +1157,9 @@ static ssize_t bin_dn_node_address(struct file *file, · 26 unmodified lines
1154 char buf[15], *nodep;1157 char buf[15], *nodep;
1155 unsigned long area, node;1158 unsigned long area, node;
1156 __le16 dnaddr;1159 __le16 dnaddr;
1160 loff_t pos = 0;
1157 1161
1158 result = kernel_read(file, 0, buf, sizeof(buf) - 1);1162 result = kernel_read(file, buf, sizeof(buf) - 1, &pos);
1159 if (result < 0)1163 if (result < 0)
1160 goto out;1164 goto out;
1161 1165