On Tue, Jun 15, 2021 at 10:13:30PM +0800, Xie Yongji wrote:
> +static bool vduse_validate_config(struct vduse_dev_config *config)
> +{

The name field needs to be NUL terminated?

> +     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?

Attachment: signature.asc
Description: PGP signature

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to