On Thu, May 27, 2021 at 12:13 PM Jason Wang <jasowang@xxxxxxxxxx> wrote: > > > 在 2021/5/17 下午5:55, Xie Yongji 写道: > > + > > +static int vduse_dev_msg_sync(struct vduse_dev *dev, > > + struct vduse_dev_msg *msg) > > +{ > > + init_waitqueue_head(&msg->waitq); > > + spin_lock(&dev->msg_lock); > > + vduse_enqueue_msg(&dev->send_list, msg); > > + wake_up(&dev->waitq); > > + spin_unlock(&dev->msg_lock); > > + wait_event_killable(msg->waitq, msg->completed); > > > What happens if the userspace(malicous) doesn't give a response forever? > > It looks like a DOS. If yes, we need to consider a way to fix that. > How about using wait_event_killable_timeout() instead? Thanks, Yongji