• P
    [PATCH] uml: fix lvalue for gcc4 · bcb01b8a
    Paolo 'Blaisorblade' Giarrusso 提交于
          Russell King <rmk+lkml@arm.linux.org.uk>
    
    This construct is refused by GCC 4, so here's the (corrected) fix.  Thanks to
    Russell for noticing a stupid mistake I did when first sending this.
    
    As he noted, the code is largely suboptimal however it currently works, and
    will be fixed shortly.  Just read the access_ok check on fp which is NULL, or
    the pointer arithmetic below which should be done with a cast to void*:
    
     	frame = (struct rt_sigframe __user *)
     		round_down(stack_top - sizeof(struct rt_sigframe), 16) - 8;
    
    The code shows clearly that has been taken from
    arch/x86_64/kernel/signal.c:setup_rt_frame(), maybe in a bit of a hurry.
    Signed-off-by: NPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    Cc: Jeff Dike <jdike@addtoit.com>
    Signed-off-by: NAndrew Morton <akpm@osdl.org>
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    bcb01b8a
signal.c 7.9 KB