Whamcloud - gitweb
LU-5126 libcfs: fix illegal page access of tracefiled() 54/11454/2
authorLi Xi <lixi@ddn.com>
Thu, 14 Aug 2014 21:10:35 +0000 (14:10 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 18 Aug 2014 03:36:47 +0000 (03:36 +0000)
After failure happens and put_pages_back() returns the pages,
tracefiled() should not go on itering on the page list.
Otherwise, some pages might be accessed illegally.

This patch is back-ported from the following one:
Lustre-commit: f111fac3f785400f892ca03bfb9078c6bd091f7d
Lustre-change: http://review.whamcloud.com/10524

Signed-off-by: Li Xi <lixi@ddn.com>
Change-Id: I9f2953e9e0a6473112c7d1ce16375b84c66d622c
Signed-off-by: Jian Yu <jian.yu@intel.com>
Reviewed-on: http://review.whamcloud.com/11454
Tested-by: Jenkins
Reviewed-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
libcfs/libcfs/tracefile.c

index 2c5dd47..98c8208 100644 (file)
@@ -1045,6 +1045,7 @@ static int tracefiled(void *arg)
                                       "but wrote %d\n", tage->used, rc);
                                put_pages_back(&pc);
                                __LASSERT(cfs_list_empty(&pc.pc_pages));
+                               break;
                        }
                 }
                MMSPACE_CLOSE;