All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masahiro Yamada <masahiroy@kernel.org>
To: Randy Dunlap <rdunlap@infradead.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	Linux Next Mailing List <linux-next@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	richard -rw- weinberger <richard.weinberger@gmail.com>,
	Al Viro <viro@zeniv.linux.org.uk>
Subject: Re: linux-next: Tree for Mar 27 (kbuild)
Date: Tue, 31 Mar 2020 11:26:08 +0900	[thread overview]
Message-ID: <CAK7LNAScFhU+MYigK89krNt_1mk7-uFfVEroAvZeni1rv+m_vg@mail.gmail.com> (raw)
In-Reply-To: <cca9cab0-09a4-bc2f-9322-54b523d04bcf@infradead.org>

Hi Randy,

On Tue, Mar 31, 2020 at 11:10 AM Randy Dunlap <rdunlap@infradead.org> wrote:
>
> On 3/27/20 8:52 AM, Randy Dunlap wrote:
> > On 3/27/20 1:07 AM, Stephen Rothwell wrote:
> >> Hi all,
> >>
> >> Changes since 20200326:
> >>
> >
> > on i386, UML defconfig build fails with: (mostly get_user() variants)
> >
>
> Hi Yamada-san,
>
> Al Viro identified these build errors as due to:
>
> Buggered-by: 1a908babcb144 (x86: replace arch macros from compiler with CONFIG_X86_{32,64})
>
>     If the intention is to check i386/x86_64 excluding UML, testing
>     CONFIG_X86_{32,64} is simpler.
>
> Which is not true, since uml/x86 configs bloody well *do* have CONFIG_X86_{32,64}
> defined.  See arch/x86/um/Kconfig; and yes, it does need those, as well as
> arch/x86/Kconfig.cpu.
>

My bad - I did not notice arch/x86/um/Kconfig defined them.

I will fix them ASAP.





> and they are still happening (on UML on i386 defconfig).
>
>
> >
> >   CC      kernel/signal.o
> > In file included from ../include/linux/kernel.h:15:0,
> >                  from ../include/asm-generic/bug.h:19,
> >                  from ./arch/um/include/generated/asm/bug.h:1,
> >                  from ../include/linux/bug.h:5,
> >                  from ../include/linux/mmdebug.h:5,
> >                  from ../include/linux/gfp.h:5,
> >                  from ../include/linux/slab.h:15,
> >                  from ../kernel/signal.c:14:
> > ../kernel/signal.c: In function 'print_fatal_signal':
> > ../kernel/signal.c:1250:33: error: 'struct pt_regs' has no member named 'ip'
> >   pr_info("code at %08lx: ", regs->ip);
> >                                  ^
> > ../include/linux/printk.h:310:34: note: in definition of macro 'pr_info'
> >   printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
> >                                   ^~~~~~~~~~~
> > In file included from ../arch/um/include/asm/uaccess.h:39:0,
> >                  from ../include/linux/uaccess.h:11,
> >                  from ../include/linux/sched/task.h:11,
> >                  from ../kernel/signal.c:20:
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:196:28: note: in definition of macro 'get_user'
> >   const void __user *__p = (ptr);    \
> >                             ^~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:93:66: note: in definition of macro 'access_ok'
> >  #define access_ok(addr, size) __access_ok((unsigned long)(addr),(size))
> >                                                                   ^~~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:158:19: note: in definition of macro '__get_user'
> >   switch (sizeof(*(ptr))) {    \
> >                    ^~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:209:47: note: in definition of macro '__get_user_fn'
> >  #define __get_user_fn(sz, u, k) __get_user_fn(sz, u, k)
> >                                                ^~
> > ../include/asm-generic/uaccess.h:199:3: note: in expansion of macro '__get_user'
> >    __get_user((x), (__typeof__(*(ptr)) __user *)__p) :\
> >    ^~~~~~~~~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:209:51: note: in definition of macro '__get_user_fn'
> >  #define __get_user_fn(sz, u, k) __get_user_fn(sz, u, k)
> >                                                    ^
> > ../include/asm-generic/uaccess.h:199:3: note: in expansion of macro '__get_user'
> >    __get_user((x), (__typeof__(*(ptr)) __user *)__p) :\
> >    ^~~~~~~~~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:163:32: note: in definition of macro '__get_user'
> >    (x) = *(__force __typeof__(*(ptr)) *) &__x; \
> >                                 ^~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:209:47: note: in definition of macro '__get_user_fn'
> >  #define __get_user_fn(sz, u, k) __get_user_fn(sz, u, k)
> >                                                ^~
> > ../include/asm-generic/uaccess.h:199:3: note: in expansion of macro '__get_user'
> >    __get_user((x), (__typeof__(*(ptr)) __user *)__p) :\
> >    ^~~~~~~~~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:209:51: note: in definition of macro '__get_user_fn'
> >  #define __get_user_fn(sz, u, k) __get_user_fn(sz, u, k)
> >                                                    ^
> > ../include/asm-generic/uaccess.h:199:3: note: in expansion of macro '__get_user'
> >    __get_user((x), (__typeof__(*(ptr)) __user *)__p) :\
> >    ^~~~~~~~~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:170:32: note: in definition of macro '__get_user'
> >    (x) = *(__force __typeof__(*(ptr)) *) &__x; \
> >                                 ^~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:209:47: note: in definition of macro '__get_user_fn'
> >  #define __get_user_fn(sz, u, k) __get_user_fn(sz, u, k)
> >                                                ^~
> > ../include/asm-generic/uaccess.h:199:3: note: in expansion of macro '__get_user'
> >    __get_user((x), (__typeof__(*(ptr)) __user *)__p) :\
> >    ^~~~~~~~~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:209:51: note: in definition of macro '__get_user_fn'
> >  #define __get_user_fn(sz, u, k) __get_user_fn(sz, u, k)
> >                                                    ^
> > ../include/asm-generic/uaccess.h:199:3: note: in expansion of macro '__get_user'
> >    __get_user((x), (__typeof__(*(ptr)) __user *)__p) :\
> >    ^~~~~~~~~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:177:32: note: in definition of macro '__get_user'
> >    (x) = *(__force __typeof__(*(ptr)) *) &__x; \
> >                                 ^~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:209:47: note: in definition of macro '__get_user_fn'
> >  #define __get_user_fn(sz, u, k) __get_user_fn(sz, u, k)
> >                                                ^~
> > ../include/asm-generic/uaccess.h:199:3: note: in expansion of macro '__get_user'
> >    __get_user((x), (__typeof__(*(ptr)) __user *)__p) :\
> >    ^~~~~~~~~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:209:51: note: in definition of macro '__get_user_fn'
> >  #define __get_user_fn(sz, u, k) __get_user_fn(sz, u, k)
> >                                                    ^
> > ../include/asm-generic/uaccess.h:199:3: note: in expansion of macro '__get_user'
> >    __get_user((x), (__typeof__(*(ptr)) __user *)__p) :\
> >    ^~~~~~~~~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:184:32: note: in definition of macro '__get_user'
> >    (x) = *(__force __typeof__(*(ptr)) *) &__x; \
> >                                 ^~~
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> > ../kernel/signal.c:1256:45: error: 'struct pt_regs' has no member named 'ip'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >                                              ^
> > ../include/asm-generic/uaccess.h:200:24: note: in definition of macro 'get_user'
> >    ((x) = (__typeof__(*(ptr)))0,-EFAULT);  \
> >                         ^~~
> > ../include/asm-generic/uaccess.h:200:31: warning: left-hand operand of comma expression has no effect [-Wunused-value]
> >    ((x) = (__typeof__(*(ptr)))0,-EFAULT);  \
> >                                ^
> > ../kernel/signal.c:1256:8: note: in expansion of macro 'get_user'
> >     if (get_user(insn, (unsigned char *)(regs->ip + i)))
> >         ^~~~~~~~
> >
> >
>
>
> --
> ~Randy
> Reported-by: Randy Dunlap <rdunlap@infradead.org>



-- 
Best Regards
Masahiro Yamada

      reply	other threads:[~2020-03-31  2:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-27  8:07 linux-next: Tree for Mar 27 Stephen Rothwell
2020-03-27 15:52 ` Randy Dunlap
2020-03-27 17:24   ` Al Viro
2020-03-31  2:10   ` linux-next: Tree for Mar 27 (kbuild) Randy Dunlap
2020-03-31  2:26     ` Masahiro Yamada [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAK7LNAScFhU+MYigK89krNt_1mk7-uFfVEroAvZeni1rv+m_vg@mail.gmail.com \
    --to=masahiroy@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=richard.weinberger@gmail.com \
    --cc=sfr@canb.auug.org.au \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.