regression in next-20230213: "splice: Do splice read from a buffered file without using ITER_PIPE"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

I'm Currently trying linux-next daily on various MediaTek ARM64 SoCs.
As of next-20230213 I'm now facing this bug:
[   30.119220] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[   30.128134] Mem abort info:
[   30.130932]   ESR = 0x0000000086000006
[   30.134682]   EC = 0x21: IABT (current EL), IL = 32 bits
[   30.140009]   SET = 0, FnV = 0
[   30.143067]   EA = 0, S1PTW = 0
[   30.146210]   FSC = 0x06: level 2 translation fault
[   30.151151] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000048cbf000
[   30.157603] [0000000000000000] pgd=0800000049d82003, p4d=0800000049d82003, pud=0800000049d82003, pmd=0000000000000000
[   30.168412] Internal error: Oops: 0000000086000006 [#1] SMP
[   30.173972] Modules linked in: nft_fib_inet nf_flow_table_inet nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject_bridge nft_reject nft_redir nft_quota nft_numgen nft_nat nft_meta_bridge nft_masq nft_log nft_limit nft_hash nfs
[   30.174180]  usb_storage leds_gpio xhci_plat_hcd xhci_pci xhci_mtk_hcd xhci_hcd vfat fat usbcore usb_common
[   30.273791] CPU: 2 PID: 1232 Comm: cat Tainted: G           O       6.2.0-rc7-next-20230213+ #0
[   30.282469] Hardware name: Bananapi BPI-R3 (DT)
[   30.286985] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   30.293929] pc : 0x0
[   30.296108] lr : filemap_read_folio+0x40/0x214
[   30.300547] sp : ffffffc00a28b9a0
[   30.303848] x29: ffffffc00a28b9a0 x28: ffffff80079ce7c0 x27: 000000000000000f
[   30.310970] x26: ffffff80072f5500 x25: 0000000000000010 x24: fffffffe01f8dc40
[   30.318091] x23: 0000000000000000 x22: ffffffc00a28bb80 x21: ffffff80072f5500
[   30.325212] x20: 0000000000000000 x19: fffffffe01f8dc40 x18: 0000000000000000
[   30.332333] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[   30.339454] x14: 0000000000000000 x13: ffffff807fb9b570 x12: 0000000000000001
[   30.346575] x11: 0000000000005242 x10: ffffffc0090c5d68 x9 : ffffffc076cb9000
[   30.353697] x8 : 0000000086a580b0 x7 : 0000000000000050 x6 : 000000000000141c
[   30.360819] x5 : 0000000007ffffff x4 : 0000000000000000 x3 : 0000000000000001
[   30.367939] x2 : 0000000000000000 x1 : fffffffe01f8dc40 x0 : ffffff80072f5500
[   30.375061] Call trace:
[   30.377496]  0x0
[   30.379325]  filemap_get_pages+0x254/0x604
[   30.383409]  generic_file_buffered_splice_read.constprop.0+0xc4/0x2dc
[   30.389836]  generic_file_splice_read+0x38/0x2a8
[   30.394440]  do_splice_to+0x90/0xdc
[   30.397916]  splice_file_to_pipe+0xd4/0xdc
[   30.402000]  do_sendfile+0x114/0x38c
[   30.405565]  __arm64_sys_sendfile64+0x138/0x17c
[   30.410083]  invoke_syscall.constprop.0+0x4c/0xdc
[   30.414775]  do_el0_svc+0x50/0xe8
[   30.418078]  el0_svc+0x34/0x84
[   30.421126]  el0t_64_sync_handler+0xec/0x118
[   30.425384]  el0t_64_sync+0x14c/0x150
[   30.429041] Code: ???????? ???????? ???????? ???????? (????????) 
[   30.435119] ---[ end trace 0000000000000000 ]---

I've traced it down to commit d9722a47571104f7fa1eeb5ec59044d3607c6070
("splice: Do splice read from a buffered file without using ITER_PIPE") and
reverting this commit and commit 82cf0207bed44feb0b3b8b17a4c351fdde34a97b
("iov_iter: Kill ITER_PIPE") fixes the issue.

I have no time to look into this any deeper, but I'm ready to test fixes you
may suggest.


Best regards


Daniel





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux