diff options
Diffstat (limited to 'arch/um/os-Linux/skas/process.c')
-rw-r--r-- | arch/um/os-Linux/skas/process.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c index 47852698d5e1..5b1943dc15e9 100644 --- a/arch/um/os-Linux/skas/process.c +++ b/arch/um/os-Linux/skas/process.c | |||
@@ -431,12 +431,13 @@ void map_stub_pages(int fd, unsigned long code, | |||
431 | .fd = code_fd, | 431 | .fd = code_fd, |
432 | .offset = code_offset | 432 | .offset = code_offset |
433 | } } }); | 433 | } } }); |
434 | n = os_write_file(fd, &mmop, sizeof(mmop)); | 434 | CATCH_EINTR(n = write(fd, &mmop, sizeof(mmop))); |
435 | if(n != sizeof(mmop)){ | 435 | if(n != sizeof(mmop)){ |
436 | n = errno; | ||
436 | printk("mmap args - addr = 0x%lx, fd = %d, offset = %llx\n", | 437 | printk("mmap args - addr = 0x%lx, fd = %d, offset = %llx\n", |
437 | code, code_fd, (unsigned long long) code_offset); | 438 | code, code_fd, (unsigned long long) code_offset); |
438 | panic("map_stub_pages : /proc/mm map for code failed, " | 439 | panic("map_stub_pages : /proc/mm map for code failed, " |
439 | "err = %d\n", -n); | 440 | "err = %d\n", n); |
440 | } | 441 | } |
441 | 442 | ||
442 | if ( stack ) { | 443 | if ( stack ) { |
@@ -453,10 +454,10 @@ void map_stub_pages(int fd, unsigned long code, | |||
453 | .fd = map_fd, | 454 | .fd = map_fd, |
454 | .offset = map_offset | 455 | .offset = map_offset |
455 | } } }); | 456 | } } }); |
456 | n = os_write_file(fd, &mmop, sizeof(mmop)); | 457 | CATCH_EINTR(n = write(fd, &mmop, sizeof(mmop))); |
457 | if(n != sizeof(mmop)) | 458 | if(n != sizeof(mmop)) |
458 | panic("map_stub_pages : /proc/mm map for data failed, " | 459 | panic("map_stub_pages : /proc/mm map for data failed, " |
459 | "err = %d\n", -n); | 460 | "err = %d\n", errno); |
460 | } | 461 | } |
461 | } | 462 | } |
462 | 463 | ||