On Tue, Nov 15, 2022 at 03:06:57AM +0000, Tian, Kevin wrote: > > From: Jason Gunthorpe <jgg@xxxxxxxxxx> > > Sent: Tuesday, November 15, 2022 2:03 AM > > - mutex_lock(&area->pages->mutex); > > - rc = iopt_pages_add_access(area->pages, index, last_index, > > - out_pages, flags); > > - if (rc) { > > - mutex_unlock(&area->pages->mutex); > > + rc = iopt_pages_add_access(area, index, last_index, > > out_pages, > > + flags); > > + if (rc) > > iopt_area_add_access(), which I suppose you have already fixed when > compiling this change. but just in case... 😊 > > > @@ -1819,40 +1838,49 @@ iopt_pages_get_exact_access(struct iopt_pages > > *pages, unsigned long index, > > * > > * This should be undone through a matching call to > > iopt_pages_remove_access() > > iopt_area_remove_access() > > > @@ -1865,11 +1893,11 @@ int iopt_pages_add_access(struct iopt_pages > > *pages, unsigned long start_index, > > * Undo iopt_pages_add_access() and unpin the pages if necessary. The > > iopt_area_add_access() > > with above, Yep, I got those Thanks, Jason