commit 6ac1dc736b323011a55ecd1fc5897c24c4f77cbd upstream.
Setting si_code to 0 is the same a setting si_code to SI_USER which is definitely
not correct. With si_code set to SI_USER si_pid and si_uid will be copied to
userspace instead of si_addr. Which is very wrong.
So fix this by using a sensible si_code (SEGV_MAPERR) for this failure.
Fixes:
|
||
---|---|---|
.. | ||
cache-dbg-flush-by-reg.S | ||
cache-dbg-flush-by-tag.S | ||
cache-dbg-inv-by-reg.S | ||
cache-dbg-inv-by-tag.S | ||
cache-dbg-inv.S | ||
cache-disabled.c | ||
cache-flush-by-reg.S | ||
cache-flush-by-tag.S | ||
cache-flush-icache.c | ||
cache-inv-by-reg.S | ||
cache-inv-by-tag.S | ||
cache-inv-icache.c | ||
cache-smp-flush.c | ||
cache-smp-inv.c | ||
cache-smp.c | ||
cache-smp.h | ||
cache.c | ||
cache.inc | ||
dma-alloc.c | ||
extable.c | ||
fault.c | ||
init.c | ||
Kconfig.cache | ||
Makefile | ||
misalignment.c | ||
mmu-context.c | ||
pgtable.c | ||
tlb-mn10300.S | ||
tlb-smp.c |