aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/os-Linux/file.c')
-rw-r--r--arch/um/os-Linux/file.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/um/os-Linux/file.c b/arch/um/os-Linux/file.c
index 4a9510c67622..5e9b8dcf34d4 100644
--- a/arch/um/os-Linux/file.c
+++ b/arch/um/os-Linux/file.c
@@ -334,12 +334,30 @@ int os_read_file(int fd, void *buf, int len)
334 copy_from_user_proc); 334 copy_from_user_proc);
335} 335}
336 336
337int os_read_file_k(int fd, void *buf, int len)
338{
339 int n = read(fd, buf, len);
340
341 if(n < 0)
342 return -errno;
343 return n;
344}
345
337int os_write_file(int fd, const void *buf, int len) 346int os_write_file(int fd, const void *buf, int len)
338{ 347{
339 return file_io(fd, (void *) buf, len, 348 return file_io(fd, (void *) buf, len,
340 (int (*)(int, void *, int)) write, copy_to_user_proc); 349 (int (*)(int, void *, int)) write, copy_to_user_proc);
341} 350}
342 351
352int os_write_file_k(int fd, const void *buf, int len)
353{
354 int n = write(fd, (void *) buf, len);
355
356 if(n < 0)
357 return -errno;
358 return n;
359}
360
343int os_file_size(char *file, unsigned long long *size_out) 361int os_file_size(char *file, unsigned long long *size_out)
344{ 362{
345 struct uml_stat buf; 363 struct uml_stat buf;