drm: In drm_gem_name_create(), verify argument before acquiring lock

Submitted by:	J.R. Oldroyd <jr@opal.com>
This commit is contained in:
Jean-Sébastien Pédron 2013-08-25 10:04:10 +00:00
parent 10548903da
commit 735f427563

View file

@ -132,12 +132,12 @@ drm_gem_name_create(struct drm_gem_names *names, void *p, uint32_t *name)
{
struct drm_gem_name *np;
np = malloc(sizeof(struct drm_gem_name), M_GEM_NAMES, M_WAITOK);
mtx_lock(&names->lock);
if (*name != 0) {
mtx_unlock(&names->lock);
return (EALREADY);
}
np = malloc(sizeof(struct drm_gem_name), M_GEM_NAMES, M_WAITOK);
mtx_lock(&names->lock);
np->name = alloc_unr(names->unr);
if (np->name == -1) {
mtx_unlock(&names->lock);