Whamcloud - gitweb
LU-5126 libcfs: fix illegal page access of tracefiled() 24/10524/2
authorLi Xi <lixi@ddn.com>
Fri, 30 May 2014 15:13:18 +0000 (23:13 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 16 Jun 2014 02:50:39 +0000 (02:50 +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.

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

index 6b76204..90a4a96 100644 (file)
@@ -1022,6 +1022,7 @@ static int tracefiled(void *arg)
                                       "but wrote %d\n", tage->used, rc);
                                put_pages_back(&pc);
                                __LASSERT(list_empty(&pc.pc_pages));
+                               break;
                        }
                 }
                MMSPACE_CLOSE;