On Tue, 29 May 2018, Christoph Hellwig wrote:
Btw, can I get a review and testing for the above? They aren't really experimental any more, and I'd like to move architectures over as soon as possible.
When I boot the generic-dma-noncoherent.2 branch (5f4613b2dcd4) in qemu and run "ifconfig eth0 up" I get an oops (see below). The crash goes away when I add a patch to initialize the macsonic device dma masks, but it appears the new code is not as robust as the old code. Unable to handle kernel NULL pointer dereference at virtual address (null) Oops: 00000000 Modules linked in: PC: [<003352e6>] dma_direct_map_page+0xc0/0xf8 SR: 2004 SP: f93954f5 a2: 1e988f30 d0: 1e9c7950 d1: 1e9c7000 d2: fff0b1c8 d3: f4e569c7 d4: 000005f0 d5: 00000002 a0: 1e85a20a a1: 00000000 Process ifconfig (pid: 46, task=87dc4b31) Frame format=7 eff addr=00000000 ssw=0505 faddr=00000000 wb 1 stat/addr/data: 0000 00000000 00000000 wb 2 stat/addr/data: 0000 00000000 00000000 wb 3 stat/addr/data: 0000 00000000 00000000 push data: 00000000 00000000 00000000 00000000 Stack from 1e9b9c74: 00000000 00000000 000005f0 00000002 0001e9c7 0000003d 1e85a20a 00951ffc 1e9c7950 1e9b9cd8 00335636 1e85a20a 00951ffc 00000950 000005f0 00000002 00000000 00000000 00000017 003d38e0 0027b11e 0001e9c7 1e9783e0 1e9784d0 00381f10 1e9b9d2c 0025c11a 1e85a20a 00951ffc 00000950 000005f0 00000002 00000000 00001043 00001002 00000041 8000b543 00000000 1e95f00c 1e978000 0037c3a0 1e97802f 00000950 1e85a20a 0007a71c 1e9b9d44 1e9b9d44 0028d4b0 Call Trace: [<0001e9c7>] resource_list_create_entry+0x11/0x46 [<00335636>] dma_noncoherent_map_page+0x32/0xfc [<0027b11e>] skb_put+0x0/0x6a [<0001e9c7>] resource_list_create_entry+0x11/0x46 [<0025c11a>] macsonic_open+0x124/0x360 [<00001043>] kernel_pg_dir+0x43/0x1000 [<00001002>] kernel_pg_dir+0x2/0x1000 [<0007a71c>] wb_update_bandwidth+0x40/0x4c [<0028d4b0>] __dev_open+0x8e/0x108 [<0028d026>] dev_set_rx_mode+0x0/0x3e [<0028d676>] __dev_change_flags+0x14c/0x19e [<00001002>] kernel_pg_dir+0x2/0x1000 [<00008914>] via_nubus_irq+0x9e/0xd0 [<00021378>] ns_capable_common+0x30/0x96 [<0028d6e8>] dev_change_flags+0x20/0x56 [<00001043>] kernel_pg_dir+0x43/0x1000 [<00001043>] kernel_pg_dir+0x43/0x1000 [<002fad14>] devinet_ioctl+0x610/0x754 [<00001043>] kernel_pg_dir+0x43/0x1000 [<00008914>] via_nubus_irq+0x9e/0xd0 [<002fc3c6>] inet_ioctl+0x1a2/0x250 [<00008914>] via_nubus_irq+0x9e/0xd0 [<00008914>] via_nubus_irq+0x9e/0xd0 [<00291c50>] dev_get_by_name_rcu+0x68/0xa0 [<00291c50>] dev_get_by_name_rcu+0x68/0xa0 [<00008913>] via_nubus_irq+0x9d/0xd0 [<002b17ce>] dev_ioctl+0x334/0x4ba [<002b1826>] dev_ioctl+0x38c/0x4ba [<00273b44>] sock_ioctl+0x132/0x3f4 [<00008914>] via_nubus_irq+0x9e/0xd0 [<00001002>] kernel_pg_dir+0x2/0x1000 [<00028000>] getrusage+0x25a/0x3ee [<000c1594>] vfs_ioctl+0x20/0x36 [<00008914>] via_nubus_irq+0x9e/0xd0 [<000c197e>] do_vfs_ioctl+0x70/0x6ae [<00008914>] via_nubus_irq+0x9e/0xd0 [<000bf7e0>] user_path_at_empty+0x2c/0x34 [<0003471e>] __put_cred+0x2a/0x78 [<00034b2a>] put_cred_rcu+0x0/0x92 [<00008914>] via_nubus_irq+0x9e/0xd0 [<000c1fec>] ksys_ioctl+0x30/0x6c [<00008914>] via_nubus_irq+0x9e/0xd0 [<00008914>] via_nubus_irq+0x9e/0xd0 [<000c203e>] sys_ioctl+0x16/0x1a [<00008914>] via_nubus_irq+0x9e/0xd0 [<00002b7c>] syscall+0x8/0xc [<00008914>] via_nubus_irq+0x9e/0xd0 [<0000c00f>] cu_norm+0x9/0x28 Code: 9781 6514 4280 4cee 18fc ffdc 4e5e 4e75 <2211> 2429 0004 60e2 2f02 2f01 2f2e 0014 486e fffc 4879 0038 1efc 4879 003e a45d Disabling lock debugging due to kernel taint -- -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html