On Tue, Oct 18, 2016 at 10:51:08AM +0800, tang.junhui@xxxxxxxxxx wrote: > From: "tang.junhui" <tang.junhui@xxxxxxxxxx> > > there are vecs->mpvec memory accesses outside of locking range in > check_path(), the judgments is not necessary since the they has > existed in vector_foreach_slot(), so delete them. ACK -Ben > Signed-off-by: tang.junhui <tang.junhui@xxxxxxxxxx> > --- > multipathd/main.c | 45 ++++++++++++++++++++++----------------------- > 1 file changed, 22 insertions(+), 23 deletions(-) > > diff --git a/multipathd/main.c b/multipathd/main.c > index b6eb696..e369a79 100644 > --- a/multipathd/main.c > +++ b/multipathd/main.c > @@ -1804,30 +1804,29 @@ checkerloop (void *ap) > condlog(4, "timeout waiting for DAEMON_IDLE"); > continue; > } > - if (vecs->pathvec) { > - pthread_cleanup_push(cleanup_lock, &vecs->lock); > - lock(&vecs->lock); > - pthread_testcancel(); > - vector_foreach_slot (vecs->pathvec, pp, i) { > - rc = check_path(vecs, pp, ticks); > - if (rc < 0) { > - vector_del_slot(vecs->pathvec, i); > - free_path(pp); > - i--; > - } else > - num_paths += rc; > - } > - lock_cleanup_pop(vecs->lock); > - } > - if (vecs->mpvec) { > - pthread_cleanup_push(cleanup_lock, &vecs->lock); > - lock(&vecs->lock); > - pthread_testcancel(); > - defered_failback_tick(vecs->mpvec); > - retry_count_tick(vecs->mpvec); > - missing_uev_wait_tick(vecs); > - lock_cleanup_pop(vecs->lock); > + > + pthread_cleanup_push(cleanup_lock, &vecs->lock); > + lock(&vecs->lock); > + pthread_testcancel(); > + vector_foreach_slot (vecs->pathvec, pp, i) { > + rc = check_path(vecs, pp, ticks); > + if (rc < 0) { > + vector_del_slot(vecs->pathvec, i); > + free_path(pp); > + i--; > + } else > + num_paths += rc; > } > + lock_cleanup_pop(vecs->lock); > + > + pthread_cleanup_push(cleanup_lock, &vecs->lock); > + lock(&vecs->lock); > + pthread_testcancel(); > + defered_failback_tick(vecs->mpvec); > + retry_count_tick(vecs->mpvec); > + missing_uev_wait_tick(vecs); > + lock_cleanup_pop(vecs->lock); > + > if (count) > count--; > else { > -- > 2.8.1.windows.1 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel