On Thu, Dec 05, 2019 at 10:30:22PM +0000, David Howells wrote: > David Howells (2): > pipe: Remove assertion from pipe_poll() > pipe: Fix missing mask update after pipe_wait() For reference, I've retested current master (b0d4beaa5a4b7d), that incldes the 2 pipe fixes, the test still hangs. The stack now points to pipe_wait but otherwise seems to be the same: [<0>] pipe_wait+0x72/0xc0 [<0>] pipe_write+0x217/0x4b0 [<0>] new_sync_write+0x11e/0x1c0 [<0>] vfs_write+0xc1/0x1d0 [<0>] kernel_write+0x2c/0x40 [<0>] send_cmd+0x78/0xf0 [btrfs] [<0>] send_extent_data+0x4af/0x52a [btrfs] [<0>] process_extent+0xe5d/0xeb4 [btrfs] [<0>] changed_cb+0xcf5/0xd2f [btrfs] [<0>] send_subvol+0x8af/0xc0d [btrfs] [<0>] btrfs_ioctl_send+0xe2b/0xef0 [btrfs] [<0>] _btrfs_ioctl_send+0x80/0x110 [btrfs] [<0>] btrfs_ioctl+0x14b8/0x3120 [btrfs] [<0>] do_vfs_ioctl+0xa1/0x750 [<0>] ksys_ioctl+0x70/0x80 [<0>] __x64_sys_ioctl+0x16/0x20 [<0>] do_syscall_64+0x56/0x240 [<0>] entry_SYSCALL_64_after_hwframe+0x49/0xbe (gdb) l *(pipe_wait+0x72) 0x622 is in pipe_wait (fs/pipe.c:120). 115 * is considered a noninteractive wait: 116 */ 117 prepare_to_wait(&pipe->wait, &wait, TASK_INTERRUPTIBLE); 118 pipe_unlock(pipe); 119 schedule(); 120 finish_wait(&pipe->wait, &wait); 121 pipe_lock(pipe); 122 } 123 124 static void anon_pipe_buf_release(struct pipe_inode_info *pipe,