mirror of
https://github.com/torvalds/linux.git
synced 2024-11-14 08:02:07 +00:00
3e87974dec
The VM_EXEC check in update_mmu_cache() was getting optimized away because of a stupid error in definition of macro addr_not_cache_congruent() The intention was to have the equivalent of following: if (a || (1 ? b : 0)) but we ended up with following: if (a || 1 ? b : 0) And because precedence of '||' is more that that of '?', gcc was optimizing away evaluation of <a> Nasty Repercussions: 1. For non-aliasing configs it would mean some extraneous dcache flushes for non-code pages if U/K mappings were not congruent. 2. For aliasing config, some needed dcache flush for code pages might be missed if U/K mappings were congruent. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> |
||
---|---|---|
.. | ||
cache_arc700.c | ||
dma.c | ||
extable.c | ||
fault.c | ||
init.c | ||
ioremap.c | ||
Makefile | ||
mmap.c | ||
tlb.c | ||
tlbex.S |