Hi Gabriel, 2017-02-15 Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxx>: > Every attempt to pin/unpin objects in memory requires > qxl_bo_reserve/unreserve calls around the pinning operation to protect > the object from concurrent access, which causes that call sequence to be > reproduced every place where pinning is needed. In some cases, that > sequence was not executed correctly, resulting in potential unprotected > pinning operations. > > This commit encapsulates the reservation inside a new wrapper to make > sure it is always handled properly. In cases where reservation must be > done beforehand, for some reason, one can use the unprotected version > __qxl_bo_pin/unpin. > > Signed-off-by: Gabriel Krisman Bertazi <krisman@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/qxl/qxl_display.c | 52 ++++++--------------------------------- > drivers/gpu/drm/qxl/qxl_fb.c | 25 ++++++------------- > drivers/gpu/drm/qxl/qxl_object.c | 41 ++++++++++++++++++++++++++++-- > 3 files changed, 54 insertions(+), 64 deletions(-) Reviewed-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxx> Gustavo _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel