From: WANG Cong Improve this code a bit: check sigaction's return value and remove a useless fflush(). Acked-by: Jeff Dike Signed-off-by: WANG Cong Signed-off-by: Andrew Morton --- arch/um/os-Linux/sys-i386/task_size.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff -puN arch/um/os-Linux/sys-i386/task_size.c~arch-um-os-linux-sys-i386-task_sizec-improve-a-bit arch/um/os-Linux/sys-i386/task_size.c --- a/arch/um/os-Linux/sys-i386/task_size.c~arch-um-os-linux-sys-i386-task_sizec-improve-a-bit +++ a/arch/um/os-Linux/sys-i386/task_size.c @@ -88,7 +88,10 @@ unsigned long os_get_task_size(void) sa.sa_handler = segfault; sigemptyset(&sa.sa_mask); sa.sa_flags = SA_NODEFER; - sigaction(SIGSEGV, &sa, &old); + if (sigaction(SIGSEGV, &sa, &old)) { + perror("os_get_task_size"); + exit(1); + } if (!page_ok(bottom)) { fprintf(stderr, "Address 0x%x no good?\n", @@ -110,11 +113,12 @@ unsigned long os_get_task_size(void) out: /* Restore the old SIGSEGV handling */ - sigaction(SIGSEGV, &old, NULL); - + if (sigaction(SIGSEGV, &old, NULL)) { + perror("os_get_task_size"); + exit(1); + } top <<= UM_KERN_PAGE_SHIFT; printf("0x%x\n", top); - fflush(stdout); return top; } _