lkml.org 
[lkml]   [2016]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [PATCH -next] unicore32: Fix build error
    From
    Date
    On 10/18/2016 12:24 AM, Guenter Roeck wrote:
    > Since the oldabi syscall interface was first introduced, the infrastructure
    > changed and the patch no longer compiles. See commit f56141e3e2d9a ("all
    > arches, signal: move restart_block to struct task_struct") for details.
    >
    > Fixes: 1ace5d1e3d4b4 ("unicore32-oldabi: add oldabi syscall interface")
    > Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    > ---
    > Should be merged with the commit introducing the problem if possible.
    >

    Additional comment: Even with this patch applied, the image does not boot with
    qemu in -next. Here is a partial log:

    ...
    Memory: 441012K/524288K available (1923K kernel code, 76K rwdata, 312K rodata, 2212K init, 175K bss, 83276K reserved, 0K cma-reserved)^M
    Virtual kernel memory layout:^M
    vector : 0xffff0000 - 0xffff1000 ( 4 kB)^M
    vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)^M
    lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)^M
    modules : 0xbf000000 - 0xc0000000 ( 16 MB)^M
    .init : 0xc0408000 - 0xc0631000 (2212 kB)^M
    .text : 0xc0631000 - 0xc0811e20 (1924 kB)^M
    .data : 0xc0811e20 - 0xc0873160 ( 389 kB)^M
    ------------[ cut here ]------------^M
    WARNING: CPU: 0 PID: 0 at mm/percpu.c:996 pcpu_alloc+0x528/0x5d4^M

    The code then loops forever repeating this warning and the associated traceback.

    Guenter

    > arch/unicore32/kernel/signal.c | 2 +-
    > 1 file changed, 1 insertion(+), 1 deletion(-)
    >
    > diff --git a/arch/unicore32/kernel/signal.c b/arch/unicore32/kernel/signal.c
    > index 78a66491b108..be75ef8c1e0c 100644
    > --- a/arch/unicore32/kernel/signal.c
    > +++ b/arch/unicore32/kernel/signal.c
    > @@ -115,7 +115,7 @@ asmlinkage int __sys_sigreturn(struct pt_regs *regs)
    > struct sigframe __user *frame;
    >
    > /* Always make any pending restarted system calls return -EINTR */
    > - current_thread_info()->restart_block.fn = do_no_restart_syscall;
    > + current->restart_block.fn = do_no_restart_syscall;
    >
    > /*
    > * Since we stacked the signal on a 64-bit boundary,
    >

    \
     
     \ /
      Last update: 2016-10-18 15:52    [W:3.572 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site