lkml.org 
[lkml]   [2021]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v10 10/16] arm64: Implement task_cpu_possible_mask()
    Date
    Provide an implementation of task_cpu_possible_mask() so that we can
    prevent 64-bit-only cores being added to the 'cpus_mask' for compat
    tasks on systems with mismatched 32-bit support at EL0,

    Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Will Deacon <will@kernel.org>
    ---
    arch/arm64/include/asm/mmu_context.h | 13 +++++++++++++
    1 file changed, 13 insertions(+)

    diff --git a/arch/arm64/include/asm/mmu_context.h b/arch/arm64/include/asm/mmu_context.h
    index d3cef9133539..bb9b7510f334 100644
    --- a/arch/arm64/include/asm/mmu_context.h
    +++ b/arch/arm64/include/asm/mmu_context.h
    @@ -231,6 +231,19 @@ switch_mm(struct mm_struct *prev, struct mm_struct *next,
    update_saved_ttbr0(tsk, next);
    }

    +static inline const struct cpumask *
    +task_cpu_possible_mask(struct task_struct *p)
    +{
    + if (!static_branch_unlikely(&arm64_mismatched_32bit_el0))
    + return cpu_possible_mask;
    +
    + if (!is_compat_thread(task_thread_info(p)))
    + return cpu_possible_mask;
    +
    + return system_32bit_el0_cpumask();
    +}
    +#define task_cpu_possible_mask task_cpu_possible_mask
    +
    void verify_cpu_asid_bits(void);
    void post_ttbr_update_workaround(void);

    --
    2.32.0.93.g670b81a890-goog
    \
     
     \ /
      Last update: 2021-06-23 19:40    [W:4.723 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site