lkml.org 
[lkml]   [2015]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 04/24] arm: Remove signal translation and exec_domain
    Date
    As execution domain support is gone we can remove
    signal translation from the signal code and remove
    exec_domain from thread_info.

    Signed-off-by: Richard Weinberger <richard@nod.at>
    ---
    arch/arm/include/asm/thread_info.h | 3 ---
    arch/arm/kernel/asm-offsets.c | 1 -
    arch/arm/kernel/signal.c | 13 +------------
    arch/arm/kernel/traps.c | 5 ++---
    4 files changed, 3 insertions(+), 19 deletions(-)

    diff --git a/arch/arm/include/asm/thread_info.h b/arch/arm/include/asm/thread_info.h
    index 72812a1..bd32ede 100644
    --- a/arch/arm/include/asm/thread_info.h
    +++ b/arch/arm/include/asm/thread_info.h
    @@ -23,7 +23,6 @@
    #ifndef __ASSEMBLY__

    struct task_struct;
    -struct exec_domain;

    #include <asm/types.h>
    #include <asm/domain.h>
    @@ -53,7 +52,6 @@ struct thread_info {
    int preempt_count; /* 0 => preemptable, <0 => bug */
    mm_segment_t addr_limit; /* address limit */
    struct task_struct *task; /* main task structure */
    - struct exec_domain *exec_domain; /* execution domain */
    __u32 cpu; /* cpu */
    __u32 cpu_domain; /* cpu domain */
    struct cpu_context_save cpu_context; /* cpu context */
    @@ -73,7 +71,6 @@ struct thread_info {
    #define INIT_THREAD_INFO(tsk) \
    { \
    .task = &tsk, \
    - .exec_domain = &default_exec_domain, \
    .flags = 0, \
    .preempt_count = INIT_PREEMPT_COUNT, \
    .addr_limit = KERNEL_DS, \
    diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c
    index 2d2d608..70d277c 100644
    --- a/arch/arm/kernel/asm-offsets.c
    +++ b/arch/arm/kernel/asm-offsets.c
    @@ -66,7 +66,6 @@ int main(void)
    DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count));
    DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit));
    DEFINE(TI_TASK, offsetof(struct thread_info, task));
    - DEFINE(TI_EXEC_DOMAIN, offsetof(struct thread_info, exec_domain));
    DEFINE(TI_CPU, offsetof(struct thread_info, cpu));
    DEFINE(TI_CPU_DOMAIN, offsetof(struct thread_info, cpu_domain));
    DEFINE(TI_CPU_SAVE, offsetof(struct thread_info, cpu_context));
    diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
    index 023ac90..423663e 100644
    --- a/arch/arm/kernel/signal.c
    +++ b/arch/arm/kernel/signal.c
    @@ -318,17 +318,6 @@ get_sigframe(struct ksignal *ksig, struct pt_regs *regs, int framesize)
    return frame;
    }

    -/*
    - * translate the signal
    - */
    -static inline int map_sig(int sig)
    -{
    - struct thread_info *thread = current_thread_info();
    - if (sig < 32 && thread->exec_domain && thread->exec_domain->signal_invmap)
    - sig = thread->exec_domain->signal_invmap[sig];
    - return sig;
    -}
    -
    static int
    setup_return(struct pt_regs *regs, struct ksignal *ksig,
    unsigned long __user *rc, void __user *frame)
    @@ -412,7 +401,7 @@ setup_return(struct pt_regs *regs, struct ksignal *ksig,
    }
    }

    - regs->ARM_r0 = map_sig(ksig->sig);
    + regs->ARM_r0 = ksig->sig;
    regs->ARM_sp = (unsigned long)frame;
    regs->ARM_lr = retcode;
    regs->ARM_pc = handler;
    diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
    index 788e23f..fac2c7e 100644
    --- a/arch/arm/kernel/traps.c
    +++ b/arch/arm/kernel/traps.c
    @@ -508,9 +508,8 @@ static int bad_syscall(int n, struct pt_regs *regs)
    struct thread_info *thread = current_thread_info();
    siginfo_t info;

    - if ((current->personality & PER_MASK) != PER_LINUX &&
    - thread->exec_domain->handler) {
    - thread->exec_domain->handler(n, regs);
    + if ((current->personality & PER_MASK) != PER_LINUX) {
    + send_sig(SIGSEGV, current, 1);
    return regs->ARM_r0;
    }

    --
    1.8.4.5


    \
     
     \ /
      Last update: 2015-04-11 23:21    [W:2.509 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site