Le 25/10/2015 14:10, Hauke Mehrtens a écrit : > This patch is causing a build error for me on 4.3-rc7. > > CC arch/mips/kernel/signal.o > arch/mips/kernel/signal.c: In function 'sc_to_extcontext': > arch/mips/kernel/signal.c:143:12: error: 'struct ucontext' has no member > named 'uc_extcontext' > return &uc->uc_extcontext; > ^ > In file included from include/linux/poll.h:11:0, > from include/linux/ring_buffer.h:7, > from include/linux/trace_events.h:5, > from include/trace/syscall.h:6, > from include/linux/syscalls.h:81, > from arch/mips/kernel/signal.c:26: > arch/mips/kernel/signal.c: In function 'save_msa_extcontext': > arch/mips/kernel/signal.c:171:40: error: dereferencing pointer to > incomplete type 'struct msa_extcontext' > err = __put_user(read_msa_csr(), &msa->csr); > ^ > ./arch/mips/include/asm/uaccess.h:441:15: note: in definition of macro > '__put_user_nocheck' > __typeof__(*(ptr)) __pu_val; \ > ^ > arch/mips/kernel/signal.c:171:9: note: in expansion of macro '__put_user' > err = __put_user(read_msa_csr(), &msa->csr); > ^ > arch/mips/kernel/signal.c:186:20: error: 'MSA_EXTCONTEXT_MAGIC' > undeclared (first use in this function) > err |= __put_user(MSA_EXTCONTEXT_MAGIC, &msa->ext.magic); > ^ > ./arch/mips/include/asm/uaccess.h:444:14: note: in definition of macro > '__put_user_nocheck' > __pu_val = (x); \ > ^ > arch/mips/kernel/signal.c:186:9: note: in expansion of macro '__put_user' > err |= __put_user(MSA_EXTCONTEXT_MAGIC, &msa->ext.magic); > ^ > arch/mips/kernel/signal.c:186:20: note: each undeclared identifier is > reported only once for each function it appears in > err |= __put_user(MSA_EXTCONTEXT_MAGIC, &msa->ext.magic); > ^ > ./arch/mips/include/asm/uaccess.h:444:14: note: in definition of macro > '__put_user_nocheck' > __pu_val = (x); \ > ^ > arch/mips/kernel/signal.c:186:9: note: in expansion of macro '__put_user' > err |= __put_user(MSA_EXTCONTEXT_MAGIC, &msa->ext.magic); > ^ > ....... > > > When I include uapi/asm/ucontext.h instead of asm/ucontext.h in signal.c > it compiles again. The problem appears if you had previously auto-generated files in arch/mips/include/generated that do not get automatically cleaned up when you switch to a new kernel version, and with an incompatible ucontext layout between the two. Jacek tripped over that here: https://www.linux-mips.org/archives/linux-mips/2015-09/msg00150.html and I asked whether we could follow-up with a proper Kbuild patch to address that build dependency here: https://www.linux-mips.org/archives/linux-mips/2015-09/msg00165.html but this does not appear to have been proposed or addressed yet. Paul, could you look into this and see how we could teach Kbuild about this build dependency? -- Florian