lkml.org 
[lkml]   [2010]   [Feb]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[31/74] sparc: TIF_ABI_PENDING bit removal
    2.6.32-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: David Miller <davem@davemloft.net>

    commit 94673e968cbcce07fa78dac4b0ae05d24b5816e1 upstream.

    Here are the sparc bits to remove TIF_ABI_PENDING now that
    set_personality() is called at the appropriate place in exec.

    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    arch/sparc/include/asm/elf_64.h | 13 +++----------
    arch/sparc/include/asm/thread_info_64.h | 4 +---
    arch/sparc/kernel/process_64.c | 8 --------
    3 files changed, 4 insertions(+), 21 deletions(-)

    --- a/arch/sparc/include/asm/elf_64.h
    +++ b/arch/sparc/include/asm/elf_64.h
    @@ -196,17 +196,10 @@ static inline unsigned int sparc64_elf_h
    #define ELF_PLATFORM (NULL)

    #define SET_PERSONALITY(ex) \
    -do { unsigned long new_flags = current_thread_info()->flags; \
    - new_flags &= _TIF_32BIT; \
    - if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \
    - new_flags |= _TIF_32BIT; \
    +do { if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \
    + set_thread_flag(TIF_32BIT); \
    else \
    - new_flags &= ~_TIF_32BIT; \
    - if ((current_thread_info()->flags & _TIF_32BIT) \
    - != new_flags) \
    - set_thread_flag(TIF_ABI_PENDING); \
    - else \
    - clear_thread_flag(TIF_ABI_PENDING); \
    + clear_thread_flag(TIF_32BIT); \
    /* flush_thread will update pgd cache */ \
    if (personality(current->personality) != PER_LINUX32) \
    set_personality(PER_LINUX | \
    --- a/arch/sparc/include/asm/thread_info_64.h
    +++ b/arch/sparc/include/asm/thread_info_64.h
    @@ -227,12 +227,11 @@ register struct thread_info *current_thr
    /* flag bit 8 is available */
    #define TIF_SECCOMP 9 /* secure computing */
    #define TIF_SYSCALL_AUDIT 10 /* syscall auditing active */
    -/* flag bit 11 is available */
    /* NOTE: Thread flags >= 12 should be ones we have no interest
    * in using in assembly, else we can't use the mask as
    * an immediate value in instructions such as andcc.
    */
    -#define TIF_ABI_PENDING 12
    +/* flag bit 12 is available */
    #define TIF_MEMDIE 13
    #define TIF_POLLING_NRFLAG 14
    #define TIF_FREEZE 15 /* is freezing for suspend */
    @@ -246,7 +245,6 @@ register struct thread_info *current_thr
    #define _TIF_32BIT (1<<TIF_32BIT)
    #define _TIF_SECCOMP (1<<TIF_SECCOMP)
    #define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT)
    -#define _TIF_ABI_PENDING (1<<TIF_ABI_PENDING)
    #define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
    #define _TIF_FREEZE (1<<TIF_FREEZE)

    --- a/arch/sparc/kernel/process_64.c
    +++ b/arch/sparc/kernel/process_64.c
    @@ -365,14 +365,6 @@ void flush_thread(void)
    struct thread_info *t = current_thread_info();
    struct mm_struct *mm;

    - if (test_ti_thread_flag(t, TIF_ABI_PENDING)) {
    - clear_ti_thread_flag(t, TIF_ABI_PENDING);
    - if (test_ti_thread_flag(t, TIF_32BIT))
    - clear_ti_thread_flag(t, TIF_32BIT);
    - else
    - set_ti_thread_flag(t, TIF_32BIT);
    - }
    -
    mm = t->task->mm;
    if (mm)
    tsb_context_switch(mm);



    \
     
     \ /
      Last update: 2010-02-04 18:25    [W:0.026 / U:0.024 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site