mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 04:06:22 +00: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
1 changed files with 4 additions and 2 deletions
|
@ -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)
|
||||
{
|
||||
flush_switched_cplbs();
|
||||
set_mask_dcplbs(mm->context.page_rwx_mask);
|
||||
if (mm->context.page_rwx_mask == current_rwx_mask) {
|
||||
flush_switched_cplbs();
|
||||
set_mask_dcplbs(mm->context.page_rwx_mask);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue