retval = security_bprm_set_creds(bprm);
        if (retval)
                return retval;
 -      bprm->cred_prepared = 1;
 +      bprm->called_set_creds = 1;
  
        memset(bprm->buf, 0, BINPRM_BUF_SIZE);
-       return kernel_read(bprm->file, 0, bprm->buf, BINPRM_BUF_SIZE);
+       return kernel_read(bprm->file, bprm->buf, BINPRM_BUF_SIZE, &pos);
  }
  
  EXPORT_SYMBOL(prepare_binprm);
 
  
        return ret;
  }
- EXPORT_SYMBOL(vfs_readv);
  
- ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
+ static ssize_t vfs_writev(struct file *file, const struct iovec __user *vec,
 -                 unsigned long vlen, loff_t *pos, int flags)
 +                 unsigned long vlen, loff_t *pos, rwf_t flags)
  {
        struct iovec iovstack[UIO_FASTIOV];
        struct iovec *iov = iovstack;
        }
        return ret;
  }
- EXPORT_SYMBOL(vfs_writev);
  
  static ssize_t do_readv(unsigned long fd, const struct iovec __user *vec,
 -                      unsigned long vlen, int flags)
 +                      unsigned long vlen, rwf_t flags)
  {
        struct fd f = fdget_pos(fd);
        ssize_t ret = -EBADF;
 
  extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
  extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
  extern ssize_t vfs_readv(struct file *, const struct iovec __user *,
 -              unsigned long, loff_t *, int);
 +              unsigned long, loff_t *, rwf_t);
- extern ssize_t vfs_writev(struct file *, const struct iovec __user *,
-               unsigned long, loff_t *, rwf_t);
  extern ssize_t vfs_copy_file_range(struct file *, loff_t , struct file *,
                                   loff_t, size_t, unsigned int);
  extern int vfs_clone_file_prep_inodes(struct inode *inode_in, loff_t pos_in,