ARM: fix nommu builds with 48be69a02 (ARM: move signal handlers into a vdso-like page)

Olof reports that noMMU builds error out with:

arch/arm/kernel/signal.c: In function 'setup_return':
arch/arm/kernel/signal.c:413:25: error: 'mm_context_t' has no member named 'sigpage'

This shows one of the evilnesses of IS_ENABLED().  Get rid of it here
and replace it with #ifdef's - and as no noMMU platform can make use
of sigpage, depend on CONIFG_MMU not CONFIG_ARM_MPU.

Change-Id: I5875b23e7c076aeb8240081bd48a4c8516b612cb
Reported-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Git-commit: 8c0cc8a5d90bc7373a7a9e7f7a40eb41f51e03fc
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[joonwoop@codeaurora.org: fixed merge conflict]
CRs-fixed: 561044
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
This commit is contained in:
Russell King
2013-10-14 13:38:26 -07:00
committed by Joonwoo Park
parent 1fae523e93
commit acb538b348
2 changed files with 6 additions and 1 deletions
+2
View File
@@ -130,8 +130,10 @@ struct mm_struct;
extern unsigned long arch_randomize_brk(struct mm_struct *mm);
#define arch_randomize_brk arch_randomize_brk
#ifdef CONFIG_MMU
#define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1
struct linux_binprm;
int arch_setup_additional_pages(struct linux_binprm *, int);
#endif
#endif
+4 -1
View File
@@ -463,6 +463,7 @@ setup_return(struct pt_regs *regs, struct k_sigaction *ka,
__put_user(sigreturn_codes[idx+1], rc+1))
return 1;
#ifdef CONFIG_MMU
if (cpsr & MODE32_BIT) {
struct mm_struct *mm = current->mm;
@@ -473,7 +474,9 @@ setup_return(struct pt_regs *regs, struct k_sigaction *ka,
*/
retcode = mm->context.sigpage + signal_return_offset +
(idx << 2) + thumb;
} else {
} else
#endif
{
/*
* Ensure that the instruction cache sees
* the return code written onto the stack.