mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
uml: rename os_{read_write}_file_k back to os_{read_write}_file
Rename os_{read_write}_file_k back to os_{read_write}_file, delete the originals and their bogus infrastructure, and fix all the callers. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
a263672424
commit
a6ea4cceed
22 changed files with 51 additions and 105 deletions
|
@ -290,51 +290,7 @@ int os_seek_file(int fd, __u64 offset)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int fault_buffer(void *start, int len,
|
||||
int (*copy_proc)(void *addr, void *buf, int len))
|
||||
{
|
||||
int page = getpagesize(), i;
|
||||
char c;
|
||||
|
||||
for(i = 0; i < len; i += page){
|
||||
if((*copy_proc)(start + i, &c, sizeof(c)))
|
||||
return -EFAULT;
|
||||
}
|
||||
if((len % page) != 0){
|
||||
if((*copy_proc)(start + len - 1, &c, sizeof(c)))
|
||||
return -EFAULT;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int file_io(int fd, void *buf, int len,
|
||||
int (*io_proc)(int fd, void *buf, int len),
|
||||
int (*copy_user_proc)(void *addr, void *buf, int len))
|
||||
{
|
||||
int n, err;
|
||||
|
||||
do {
|
||||
n = (*io_proc)(fd, buf, len);
|
||||
if((n < 0) && (errno == EFAULT)){
|
||||
err = fault_buffer(buf, len, copy_user_proc);
|
||||
if(err)
|
||||
return err;
|
||||
n = (*io_proc)(fd, buf, len);
|
||||
}
|
||||
} while((n < 0) && (errno == EINTR));
|
||||
|
||||
if(n < 0)
|
||||
return -errno;
|
||||
return n;
|
||||
}
|
||||
|
||||
int os_read_file(int fd, void *buf, int len)
|
||||
{
|
||||
return file_io(fd, buf, len, (int (*)(int, void *, int)) read,
|
||||
copy_from_user_proc);
|
||||
}
|
||||
|
||||
int os_read_file_k(int fd, void *buf, int len)
|
||||
{
|
||||
int n = read(fd, buf, len);
|
||||
|
||||
|
@ -344,12 +300,6 @@ int os_read_file_k(int fd, void *buf, int len)
|
|||
}
|
||||
|
||||
int os_write_file(int fd, const void *buf, int len)
|
||||
{
|
||||
return file_io(fd, (void *) buf, len,
|
||||
(int (*)(int, void *, int)) write, copy_to_user_proc);
|
||||
}
|
||||
|
||||
int os_write_file_k(int fd, const void *buf, int len)
|
||||
{
|
||||
int n = write(fd, (void *) buf, len);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue