msm: kgsl: Fix the race between context create and destroy

Hold the context lock before updating the context id in
param->drawctxt_id to avoid race condition between context
creation and context destroy.

Change-Id: Ic26d3e5b68078c02d15c38080b1a262ea4b1f7fe
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
This commit is contained in:
Sunil Khatri 2017-04-06 18:28:31 +05:30 committed by Gerrit - the friendly Code Review server
parent 6319cf033b
commit 1c4ddc4c7a

View file

@ -1764,9 +1764,9 @@ long kgsl_ioctl_drawctxt_create(struct kgsl_device_private *dev_priv,
/* Commit the pointer to the context in context_idr */
write_lock(&device->context_lock);
idr_replace(&device->context_idr, context, context->id);
param->drawctxt_id = context->id;
write_unlock(&device->context_lock);
param->drawctxt_id = context->id;
done:
return result;
}