Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dad07ca7 authored by Andres Salomon's avatar Andres Salomon Committed by Dave Airlie
Browse files

drm: check return values in drm_version



In drm_version, actually check the results from function calls so that
we're not potentially passing garbage back to userspace.

Signed-off-by: default avatarAndres Salomon <dilinger@collabora.co.uk>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 140a45fc
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -403,15 +403,21 @@ static int drm_version(struct drm_device *dev, void *data,
		       struct drm_file *file_priv)
{
	struct drm_version *version = data;
	int err;

	version->version_major = dev->driver->major;
	version->version_minor = dev->driver->minor;
	version->version_patchlevel = dev->driver->patchlevel;
	drm_copy_field(version->name, &version->name_len, dev->driver->name);
	drm_copy_field(version->date, &version->date_len, dev->driver->date);
	drm_copy_field(version->desc, &version->desc_len, dev->driver->desc);

	return 0;
	err = drm_copy_field(version->name, &version->name_len,
			dev->driver->name);
	if (!err)
		err = drm_copy_field(version->date, &version->date_len,
				dev->driver->date);
	if (!err)
		err = drm_copy_field(version->desc, &version->desc_len,
				dev->driver->desc);

	return err;
}

/**