Subject: Re: [PATCH net 1/1] tipc: revert use of copy_from_iter_full()

From: Al Viro <[email-masked]>
Date: Thu, 22 Dec 2016 01:21:01 +0000

On Wed, Dec 21, 2016 at 08:01:37PM -0500, Jon Maloy wrote:
> commit cbbd26b8b1a6 ("[iov_iter] new primitives - copy_from_iter_full()
> and friends") replaced calls to copy_from_iter() in the function
> tipc_msg_build(). This causes a an immediate crash as follows:

Very interesting.

> [ 1209.597076] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
> [ 1209.607025] IP: copy_from_iter_full+0x43/0x290

> [ 1209.689257]  tipc_msg_build+0xe1/0x590 [tipc]
> [ 1209.691479]  ? _raw_spin_unlock_bh+0x1e/0x20
> [ 1209.694641]  ? tipc_node_find+0x30/0xa0 [tipc]
> [ 1209.696789]  __tipc_sendmsg+0x189/0x480 [tipc]
> [ 1209.699017]  ? remove_wait_queue+0x4d/0x60
> [ 1209.700354]  tipc_connect+0x15f/0x1b0 [tipc]
> [ 1209.701684]  SYSC_connect+0xd9/0x110

I don't believe that it's something tipc-specific; could you post an objdump
of copy_from_iter_full() in your kernel?  That smells like a bug in there
and it really ought to be fixed...