diff --git a/arch/x86/kernel/vsyscall.c b/arch/x86/kernel/vsyscall.c index 12e2d2cb..1de7c452 100644 --- a/arch/x86/kernel/vsyscall.c +++ b/arch/x86/kernel/vsyscall.c @@ -102,7 +102,7 @@ int vsyscall_gettimeofday(struct timeval *tv, void *tz) : "%rcx", "%r11", "memory"); if (error) { - *(int *)0 = 0; /* i.e. raise(SIGSEGV) */ + *(volatile int *)0 = 0; /* i.e. raise(SIGSEGV) */ } return error; } /* vsyscall_gettimeofday() */ diff --git a/kernel/pager.c b/kernel/pager.c index 4fddd650..d997f208 100644 --- a/kernel/pager.c +++ b/kernel/pager.c @@ -161,7 +161,7 @@ myalloc(struct swapinfo *si, size_t sz) } void -myfree() +myfree(void *p) { /* nothing so far */ } diff --git a/kernel/syscall.c b/kernel/syscall.c index 162f0e3e..a932215b 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -7589,7 +7589,7 @@ SYSCALL_DECLARE(remap_file_pages) ihk_mc_spinlock_lock_noirq(&thread->vm->memory_range_lock); #define PGOFF_LIMIT ((off_t)1 << ((8*sizeof(off_t) - 1) - PAGE_SHIFT)) if ((size <= 0) || (size & (PAGE_SIZE - 1)) || (prot != 0) - || (pgoff < 0) || (PGOFF_LIMIT <= pgoff) + || (PGOFF_LIMIT <= pgoff) || ((PGOFF_LIMIT - pgoff) < (size / PAGE_SIZE)) || !((start < end) || (end == 0))) { ekprintf("sys_remap_file_pages(%#lx,%#lx,%#x,%#lx,%#x):"