int verify_iovec(struct msghdr *m, struct iovec *iov, char *address, int mode)
{
int size, err, ct;
-
+
if (m->msg_namelen) {
if (mode == VERIFY_READ) {
err = move_addr_to_kernel(m->msg_name, m->msg_namelen,
*
* Note: this modifies the original iovec.
*/
-
+
int memcpy_toiovec(struct iovec *iov, unsigned char *kdata, int len)
{
while (len > 0) {
*
* Note: this modifies the original iovec.
*/
-
+
int memcpy_fromiovec(unsigned char *kdata, struct iovec *iov, int len)
{
while (len > 0) {
if (partial_cnt) {
copy -= partial_cnt;
if (copy_from_user(kdata + copy, base + copy,
- partial_cnt))
+ partial_cnt))
goto out_fault;
}
}
kdata += copy + partial_cnt;
iov++;
}
- *csump = csum;
+ *csump = csum;
out:
return err;