On 26/04/2021 14:18, Marek Szyprowski wrote: ... > This patch landed in linux-next 20210426 as commit 42fb54fbc707 ("bio: > limit bio max size"). Sadly it causes the following regression during > boot on my test systems: > > 8<--- cut here --- > Unable to handle kernel NULL pointer dereference at virtual address 0000023c > pgd = (ptrval) > [0000023c] *pgd=00000000 > Internal error: Oops: 5 [#2] SMP ARM > Modules linked in: > CPU: 0 PID: 186 Comm: systemd-udevd Tainted: G D > 5.12.0-next-20210426 #3045 > Hardware name: Generic DT based system > PC is at bio_add_hw_page+0x58/0x1fc > LR is at bio_add_pc_page+0x40/0x5c > pc : [<c06c5bf0>] lr : [<c06c5dd4>] psr: 20000013 > sp : c3cc7de0 ip : ffffffff fp : 00000000 > r10: 00000cc0 r9 : c20b2000 r8 : c21b5680 > r7 : dbc51b80 r6 : c30d0540 r5 : 00000014 r4 : c21b5680 > r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : c30d0540 > Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none > Control: 10c5387d Table: 43ccc06a DAC: 00000051 > Register r0 information: slab request_queue start c30d0540 pointer offset 0 > Register r1 information: NULL pointer > Register r2 information: NULL pointer > Register r3 information: NULL pointer > Register r4 information: slab kmalloc-128 start c21b5680 pointer offset > 0 size 128 > Register r5 information: non-paged memory > Register r6 information: slab request_queue start c30d0540 pointer offset 0 > Register r7 information: non-slab/vmalloc memory > Register r8 information: slab kmalloc-128 start c21b5680 pointer offset > 0 size 128 > Register r9 information: slab kmalloc-4k start c20b2000 pointer offset 0 > size 4096 > Register r10 information: non-paged memory > Register r11 information: NULL pointer > Register r12 information: non-paged memory > Process systemd-udevd (pid: 186, stack limit = 0x(ptrval)) > Stack: (0xc3cc7de0 to 0xc3cc8000) > ... > [<c06c5bf0>] (bio_add_hw_page) from [<c06c5dd4>] (bio_add_pc_page+0x40/0x5c) > [<c06c5dd4>] (bio_add_pc_page) from [<c06cf0ac>] > (blk_rq_map_kern+0x234/0x304) > [<c06cf0ac>] (blk_rq_map_kern) from [<c0a54634>] (serial_show+0x64/0xd4) > [<c0a54634>] (serial_show) from [<c0a228ac>] (dev_attr_show+0x18/0x48) > [<c0a228ac>] (dev_attr_show) from [<c054721c>] (sysfs_kf_seq_show+0x88/0xf4) > [<c054721c>] (sysfs_kf_seq_show) from [<c04d7a44>] > (seq_read_iter+0x10c/0x4bc) > [<c04d7a44>] (seq_read_iter) from [<c04adf60>] (vfs_read+0x1d4/0x2e0) > [<c04adf60>] (vfs_read) from [<c04ae47c>] (ksys_read+0x5c/0xd0) > [<c04ae47c>] (ksys_read) from [<c03000c0>] (ret_fast_syscall+0x0/0x58) > Exception stack(0xc3cc7fa8 to 0xc3cc7ff0) > ... > Code: e1520003 9a000021 e5942004 e5941020 (e592223c) > ---[ end trace 51c4d8003ec70244 ]--- I have also noticed that an eMMC test we have started failing today and bisect is pointing to this commit. Reverting this change fixes it. The signature is a bit different to the above, but nonetheless seems to be causing problems ... [ 76.675488] ------------[ cut here ]------------ [ 76.680147] WARNING: CPU: 1 PID: 705 at /dvs/git/dirty/git-master_l4t-upstream/kernel/block/bio.c:1033 bio_iov_iter_get_pages+0x480/0x490 [ 76.692518] Modules linked in: snd_soc_tegra30_i2s snd_soc_tegra_pcm snd_hda_codec_hdmi snd_soc_rt5640 snd_soc_tegra_rt5640 snd_soc_rl6231 snd_soc_tegra_utils snd_soc_core ac97_bus snd_pcm_dmaengine snd_soc_tegra30_ahub snd_hda_tegra snd_hda_codec snd_hda_core snd_pcm tegra_soctherm xhci_tegra snd_timer snd soundcore nouveau drm_ttm_helper ttm tegra30_devfreq tegra_wdt [ 76.725279] CPU: 1 PID: 705 Comm: dd Not tainted 5.12.0-next-20210426-g3f1fee3e7237 #1 [ 76.733192] Hardware name: NVIDIA Tegra SoC (Flattened Device Tree) [ 76.739457] [<c0311628>] (unwind_backtrace) from [<c030bdd4>] (show_stack+0x10/0x14) [ 76.747203] [<c030bdd4>] (show_stack) from [<c0fe550c>] (dump_stack+0xc8/0xdc) [ 76.754423] [<c0fe550c>] (dump_stack) from [<c0345900>] (__warn+0x104/0x108) [ 76.761466] [<c0345900>] (__warn) from [<c03459b8>] (warn_slowpath_fmt+0xb4/0xbc) [ 76.768950] [<c03459b8>] (warn_slowpath_fmt) from [<c06cbb58>] (bio_iov_iter_get_pages+0x480/0x490) [ 76.777996] [<c06cbb58>] (bio_iov_iter_get_pages) from [<c0533864>] (iomap_dio_bio_actor+0x278/0x528) [ 76.787216] [<c0533864>] (iomap_dio_bio_actor) from [<c052f2d0>] (iomap_apply+0x170/0x440) [ 76.795476] [<c052f2d0>] (iomap_apply) from [<c053433c>] (__iomap_dio_rw+0x3f0/0x638) [ 76.803297] [<c053433c>] (__iomap_dio_rw) from [<c0534598>] (iomap_dio_rw+0x14/0x3c) [ 76.811043] [<c0534598>] (iomap_dio_rw) from [<c056347c>] (ext4_file_write_iter+0x550/0xa78) [ 76.819483] [<c056347c>] (ext4_file_write_iter) from [<c04b1700>] (vfs_write+0x2ec/0x3bc) [ 76.827662] [<c04b1700>] (vfs_write) from [<c04b1954>] (ksys_write+0xa8/0xd8) [ 76.834792] [<c04b1954>] (ksys_write) from [<c03000c0>] (ret_fast_syscall+0x0/0x58) [ 76.842435] Exception stack(0xc5471fa8 to 0xc5471ff0) [ 76.847485] 1fa0: 0000006c 06400000 00000001 b0a2f000 06400000 00000000 [ 76.855653] 1fc0: 0000006c 06400000 0050d0b8 00000004 0050d0b8 0050d0b8 00000000 00000000 [ 76.863823] 1fe0: 00000004 beb0c9d0 b6ebdc0b b6e48206 [ 76.868917] ---[ end trace d33cae3bcbc64fcb ]--- Cheers Jon -- nvpublic