Explorar o código

CIFS: Fix error handling in cifs_readv_complete

In cifs_readv_receive we don't update rdata->result to error value
after kmap'ing a page. We should kunmap the page in the no error
case only.

Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Pavel Shilovsky %!s(int64=13) %!d(string=hai) anos
pai
achega
a2d6b6cacb
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      fs/cifs/cifssmb.c

+ 1 - 1
fs/cifs/cifssmb.c

@@ -1619,9 +1619,9 @@ cifs_readv_complete(struct work_struct *work)
 	list_for_each_entry_safe(page, tpage, &rdata->pages, lru) {
 		list_del(&page->lru);
 		lru_cache_add_file(page);
-		kunmap(page);
 
 		if (rdata->result == 0) {
+			kunmap(page);
 			flush_dcache_page(page);
 			SetPageUptodate(page);
 		}