Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+5 -2
+2 -1
arch/s390/kernel/debug.c
··· 198 198 if (!areas) 199 199 goto fail_malloc_areas; 200 200 for (i = 0; i < nr_areas; i++) { 201 + /* GFP_NOWARN to avoid user triggerable WARN, we handle fails */ 201 202 areas[i] = kmalloc_array(pages_per_area, 202 203 sizeof(debug_entry_t *), 203 - GFP_KERNEL); 204 + GFP_KERNEL | __GFP_NOWARN); 204 205 if (!areas[i]) 205 206 goto fail_malloc_areas2; 206 207 for (j = 0; j < pages_per_area; j++) {
+2
arch/s390/kernel/early.c
··· 170 170 psw_t psw; 171 171 172 172 psw.mask = PSW_MASK_BASE | PSW_DEFAULT_KEY | PSW_MASK_EA | PSW_MASK_BA; 173 + if (IS_ENABLED(CONFIG_KASAN)) 174 + psw.mask |= PSW_MASK_DAT; 173 175 psw.addr = (unsigned long) s390_base_ext_handler; 174 176 S390_lowcore.external_new_psw = psw; 175 177 psw.addr = (unsigned long) s390_base_pgm_handler;
+1 -1
arch/s390/kernel/entry.S
··· 378 378 stmg %r8,%r15,__LC_SAVE_AREA_SYNC 379 379 BPOFF 380 380 lg %r12,__LC_CURRENT 381 - lghi %r13,__TASK_thread 382 381 lghi %r14,_PIF_SYSCALL 383 382 .Lsysc_per: 383 + lghi %r13,__TASK_thread 384 384 lg %r15,__LC_KERNEL_STACK 385 385 la %r11,STACK_FRAME_OVERHEAD(%r15) # pointer to pt_regs 386 386 UPDATE_VTIME %r8,%r9,__LC_SYNC_ENTER_TIMER