• J
    arm64: Fix incorrect irqflag restore for priority masking for compat · 8c9edd3c
    James Morse 提交于
    mainline inclusion
    from mainline-f46f27a576cc undefined
    commit f46f27a576cc
    category: bugfix
    bugzilla: 23747
    CVE: NA
    
    -------------------------------------------------
    
    Commit bd82d4bd2188 ("arm64: Fix incorrect irqflag restore for priority
    masking") added a macro to the entry.S call paths that leave the
    PSTATE.I bit set. This tells the pPNMI masking logic that interrupts
    are masked by the CPU, not by the PMR. This value is read back by
    local_daif_save().
    
    Commit bd82d4bd2188 added this call to el0_svc, as el0_svc_handler
    is called with interrupts masked. el0_svc_compat was missed, but should
    be covered in the same way as both of these paths end up in
    el0_svc_common(), which expects to unmask interrupts.
    
    Fixes: bd82d4bd2188 ("arm64: Fix incorrect irqflag restore for priority masking")
    Signed-off-by: NJames Morse <james.morse@arm.com>
    Cc: Julien Thierry <julien.thierry.kdev@gmail.com>
    Signed-off-by: NWill Deacon <will@kernel.org>
    Signed-off-by: NWei Li <liwei391@huawei.com>
    Reviewed-by: NHanjun Guo <guohanjun@huawei.com>
    Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
    8c9edd3c
entry.S 30.8 KB