Thread (68 messages) flat view 68 messages, 6 authors, 2021-07-08

Re: [PATCH v8 09/10] vduse: Introduce VDUSE - vDPA Device in Userspace

From: Yongji Xie <hidden>
Date: 2021-07-07 09:19:49
Also in: kvm, linux-fsdevel, linux-iommu, lkml

On Wed, Jul 7, 2021 at 4:53 PM Stefan Hajnoczi [off-list ref] wrote:
On Tue, Jun 15, 2021 at 10:13:30PM +0800, Xie Yongji wrote:
quoted
+static bool vduse_validate_config(struct vduse_dev_config *config)
+{
The name field needs to be NUL terminated?
I think so.
quoted
+     case VDUSE_CREATE_DEV: {
+             struct vduse_dev_config config;
+             unsigned long size = offsetof(struct vduse_dev_config, config);
+             void *buf;
+
+             ret = -EFAULT;
+             if (copy_from_user(&config, argp, size))
+                     break;
+
+             ret = -EINVAL;
+             if (vduse_validate_config(&config) == false)
+                     break;
+
+             buf = vmemdup_user(argp + size, config.config_size);
+             if (IS_ERR(buf)) {
+                     ret = PTR_ERR(buf);
+                     break;
+             }
+             ret = vduse_create_dev(&config, buf, control->api_version);
+             break;
+     }
+     case VDUSE_DESTROY_DEV: {
+             char name[VDUSE_NAME_MAX];
+
+             ret = -EFAULT;
+             if (copy_from_user(name, argp, VDUSE_NAME_MAX))
+                     break;
Is this missing a NUL terminator?
Oh, yes. Looks like I need to set '\0' to name[VDUSE_VDUSE_NAME_MAX - 1] here.

Thanks,
Yongji
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help