Messages in this thread | | | Subject | Re: [PATCH v7 11/12] vduse: Introduce VDUSE - vDPA Device in Userspace | From | Jason Wang <> | Date | Thu, 27 May 2021 12:12:58 +0800 |
| |
在 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.
Thanks
> + spin_lock(&dev->msg_lock); > + if (!msg->completed) { > + list_del(&msg->list); > + msg->resp.result = VDUSE_REQUEST_FAILED; > + } > + spin_unlock(&dev->msg_lock); > + > + return (msg->resp.result == VDUSE_REQUEST_OK) ? 0 : -1; > +}
| |