diff options
| -rw-r--r-- | arch/um/os-Linux/sys-i386/task_size.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/um/os-Linux/sys-i386/task_size.c b/arch/um/os-Linux/sys-i386/task_size.c index 48d211b3d9a1..ccb49b0aff59 100644 --- a/arch/um/os-Linux/sys-i386/task_size.c +++ b/arch/um/os-Linux/sys-i386/task_size.c | |||
| @@ -88,7 +88,10 @@ unsigned long os_get_task_size(void) | |||
| 88 | sa.sa_handler = segfault; | 88 | sa.sa_handler = segfault; |
| 89 | sigemptyset(&sa.sa_mask); | 89 | sigemptyset(&sa.sa_mask); |
| 90 | sa.sa_flags = SA_NODEFER; | 90 | sa.sa_flags = SA_NODEFER; |
| 91 | sigaction(SIGSEGV, &sa, &old); | 91 | if (sigaction(SIGSEGV, &sa, &old)) { |
| 92 | perror("os_get_task_size"); | ||
| 93 | exit(1); | ||
| 94 | } | ||
| 92 | 95 | ||
| 93 | if (!page_ok(bottom)) { | 96 | if (!page_ok(bottom)) { |
| 94 | fprintf(stderr, "Address 0x%x no good?\n", | 97 | fprintf(stderr, "Address 0x%x no good?\n", |
| @@ -110,11 +113,12 @@ unsigned long os_get_task_size(void) | |||
| 110 | 113 | ||
| 111 | out: | 114 | out: |
| 112 | /* Restore the old SIGSEGV handling */ | 115 | /* Restore the old SIGSEGV handling */ |
| 113 | sigaction(SIGSEGV, &old, NULL); | 116 | if (sigaction(SIGSEGV, &old, NULL)) { |
| 114 | 117 | perror("os_get_task_size"); | |
| 118 | exit(1); | ||
| 119 | } | ||
| 115 | top <<= UM_KERN_PAGE_SHIFT; | 120 | top <<= UM_KERN_PAGE_SHIFT; |
| 116 | printf("0x%x\n", top); | 121 | printf("0x%x\n", top); |
| 117 | fflush(stdout); | ||
| 118 | 122 | ||
| 119 | return top; | 123 | return top; |
| 120 | } | 124 | } |
