mirror of https://gitee.com/openkylin/linux.git
s390 fixes for 5.8-rc3
- Fix kernel crash on system call single stepping. - Make sure early program check handler is executed with DAT on to avoid an endless program check loop. - Add __GFP_NOWARN flag to debug feature to avoid user triggerable allocation failure messages. -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEECMNfWEw3SLnmiLkZIg7DeRspbsIFAl70iiAACgkQIg7DeRsp bsLzEA//W/z/OagreinjUbesIK1KIRkl38w6wbYPVAfoo42+/N5NkFxTwu4e7pBF KE77J5c8GeBbCnHJJQaFzR9WQJuSn9j10h9Gz4gL+cvFIbwL39PMGUheZWgcBDsT 59GIHmqYi0xO+AQbqIi2MlgKPw5lO0/U0d2XQ/NWQJiHwXI5l911jAi4B96B/pcZ VXxmmzB7eH9ufTrpCD6XTC9EBrSqvtBkPekxP27iFNWqutncDY1K1br4vbpWSPc3 qyIncnekitQCjvn+cCnXEK8wwFWAsJ2ml+JhvozQVgKK278ai7YdhvsAsJb9MUXf SnT0QOGS2yfdWDq4Y23IVf3ff9t3wR2V3sdZYYql3An9l7QF/oHXKN3G53TGb7lY qtlbg8a2nC49+8g7hl/peku09iYZkPoGPhnEuWKFKNqT8q7oFpUG5aB4xZ8YtolA Gwuua/nafnPna83QT7tNgMrILdEyeqLYok/NE+UG1Pp67yWyQJwMqLx8U7DR3yRO 4yMNjdYfEcYBJrGqhV6s2qeNvRphcWkedEnughgCYLlp/mfSpyXgKOIIGANCQkKk utwYd7UrskLrcCiAAAVWjJxMQWykpp222BytJm5noSJzepDW1lf50cl2XJaX0/7c sWob1lufqtZpo8SY0XHJVFLcMj75RwcWUXnYLpUQmyefbL/XDIM= =3+EZ -----END PGP SIGNATURE----- Merge tag 's390-5.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 fixes from Heiko Carstens: - Fix kernel crash on system call single stepping. - Make sure early program check handler is executed with DAT on to avoid an endless program check loop. - Add __GFP_NOWARN flag to debug feature to avoid user triggerable allocation failure messages. * tag 's390-5.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/debug: avoid kernel warning on too large number of pages s390/kasan: fix early pgm check handler execution s390: fix system call single stepping
This commit is contained in:
commit
908f7d12d3
|
@ -198,9 +198,10 @@ static debug_entry_t ***debug_areas_alloc(int pages_per_area, int nr_areas)
|
|||
if (!areas)
|
||||
goto fail_malloc_areas;
|
||||
for (i = 0; i < nr_areas; i++) {
|
||||
/* GFP_NOWARN to avoid user triggerable WARN, we handle fails */
|
||||
areas[i] = kmalloc_array(pages_per_area,
|
||||
sizeof(debug_entry_t *),
|
||||
GFP_KERNEL);
|
||||
GFP_KERNEL | __GFP_NOWARN);
|
||||
if (!areas[i])
|
||||
goto fail_malloc_areas2;
|
||||
for (j = 0; j < pages_per_area; j++) {
|
||||
|
|
|
@ -170,6 +170,8 @@ static noinline __init void setup_lowcore_early(void)
|
|||
psw_t psw;
|
||||
|
||||
psw.mask = PSW_MASK_BASE | PSW_DEFAULT_KEY | PSW_MASK_EA | PSW_MASK_BA;
|
||||
if (IS_ENABLED(CONFIG_KASAN))
|
||||
psw.mask |= PSW_MASK_DAT;
|
||||
psw.addr = (unsigned long) s390_base_ext_handler;
|
||||
S390_lowcore.external_new_psw = psw;
|
||||
psw.addr = (unsigned long) s390_base_pgm_handler;
|
||||
|
|
|
@ -378,9 +378,9 @@ ENTRY(system_call)
|
|||
stmg %r8,%r15,__LC_SAVE_AREA_SYNC
|
||||
BPOFF
|
||||
lg %r12,__LC_CURRENT
|
||||
lghi %r13,__TASK_thread
|
||||
lghi %r14,_PIF_SYSCALL
|
||||
.Lsysc_per:
|
||||
lghi %r13,__TASK_thread
|
||||
lg %r15,__LC_KERNEL_STACK
|
||||
la %r11,STACK_FRAME_OVERHEAD(%r15) # pointer to pt_regs
|
||||
UPDATE_VTIME %r8,%r9,__LC_SYNC_ENTER_TIMER
|
||||
|
|
Loading…
Reference in New Issue