v is unsigned, cast to signed to evaluate the do_brk() return value, Signed-off-by: Roel Kluin <12o3l@xxxxxxxxxx> --- diff --git a/arch/mips/kernel/irixelf.c b/arch/mips/kernel/irixelf.c index 290d8e3..fad2a2a 100644 --- a/arch/mips/kernel/irixelf.c +++ b/arch/mips/kernel/irixelf.c @@ -583,15 +583,15 @@ static void irix_map_prda_page(void) unsigned long v; struct prda *pp; down_write(¤t->mm->mmap_sem); v = do_brk(PRDA_ADDRESS, PAGE_SIZE); up_write(¤t->mm->mmap_sem); - if (v < 0) + if ((long) v < 0) return; pp = (struct prda *) v; pp->prda_sys.t_pid = task_pid_vnr(current); pp->prda_sys.t_prid = read_c0_prid(); pp->prda_sys.t_rpid = task_pid_vnr(current);