mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-26 11:41:00 +07:00
Blackfin arch: fix bug - MPU crashes under stress
Bug Description: a customer reported under IRQ stress, running applications may wrongly trigger an ICPLB miss and be killed. after playing a bit more, here's a test case that may be triggering the same bug. Fixing: After modifying page protections, only modify the active CPLBs if the protection change was made for the active mm. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
parent
225f7e1eb5
commit
3d9b7a5ce5
@ -173,8 +173,10 @@ static inline void protect_page(struct mm_struct *mm, unsigned long addr,
|
|||||||
|
|
||||||
static inline void update_protections(struct mm_struct *mm)
|
static inline void update_protections(struct mm_struct *mm)
|
||||||
{
|
{
|
||||||
flush_switched_cplbs();
|
if (mm->context.page_rwx_mask == current_rwx_mask) {
|
||||||
set_mask_dcplbs(mm->context.page_rwx_mask);
|
flush_switched_cplbs();
|
||||||
|
set_mask_dcplbs(mm->context.page_rwx_mask);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user