mirror of https://github.com/torvalds/linux.git
When any of the functions contained in NGbzero.S and GENbzero.S vector through *bzero_from_clear_user, we may end up taking a fault when executing one of the store alternate address space instructions. If this happens, the exception handler does not restore the %asi register. This commit fixes the issue by introducing a new exception handler that ensures the %asi register is restored when a fault is handled. Orabug: 25577560 Signed-off-by: Dave Aldridge <david.j.aldridge@oracle.com> Reviewed-by: Rob Gardner <rob.gardner@oracle.com> Reviewed-by: Babu Moger <babu.moger@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
|---|---|---|
| .. | ||
| COPYING.LIB | ||
| GENbzero.S | ||
| GENcopy_from_user.S | ||
| GENcopy_to_user.S | ||
| GENmemcpy.S | ||
| GENpage.S | ||
| GENpatch.S | ||
| Makefile | ||
| NG2copy_from_user.S | ||
| NG2copy_to_user.S | ||
| NG2memcpy.S | ||
| NG2patch.S | ||
| NG4clear_page.S | ||
| NG4copy_from_user.S | ||
| NG4copy_page.S | ||
| NG4copy_to_user.S | ||
| NG4memcpy.S | ||
| NG4memset.S | ||
| NG4patch.S | ||
| NGbzero.S | ||
| NGcopy_from_user.S | ||
| NGcopy_to_user.S | ||
| NGmemcpy.S | ||
| NGpage.S | ||
| NGpatch.S | ||
| PeeCeeI.c | ||
| U1copy_from_user.S | ||
| U1copy_to_user.S | ||
| U1memcpy.S | ||
| U3copy_from_user.S | ||
| U3copy_to_user.S | ||
| U3memcpy.S | ||
| U3patch.S | ||
| VISsave.S | ||
| ashldi3.S | ||
| ashrdi3.S | ||
| atomic32.c | ||
| atomic_64.S | ||
| bitext.c | ||
| bitops.S | ||
| blockops.S | ||
| bzero.S | ||
| checksum_32.S | ||
| checksum_64.S | ||
| clear_page.S | ||
| cmpdi2.c | ||
| copy_in_user.S | ||
| copy_page.S | ||
| copy_user.S | ||
| csum_copy.S | ||
| csum_copy_from_user.S | ||
| csum_copy_to_user.S | ||
| divdi3.S | ||
| ffs.S | ||
| hweight.S | ||
| iomap.c | ||
| ipcsum.S | ||
| libgcc.h | ||
| locks.S | ||
| lshrdi3.S | ||
| mcount.S | ||
| memcmp.S | ||
| memcpy.S | ||
| memmove.S | ||
| memscan_32.S | ||
| memscan_64.S | ||
| memset.S | ||
| muldi3.S | ||
| strlen.S | ||
| strncmp_32.S | ||
| strncmp_64.S | ||
| ucmpdi2.c | ||
| udivdi3.S | ||
| xor.S | ||