Merged. On Tue, Oct 18, 2016 at 6:22 PM, Benjamin Marzinski <bmarz...@redhat.com> wrote:
> On Tue, Oct 18, 2016 at 10:51:08AM +0800, tang.jun...@zte.com.cn wrote: > > From: "tang.junhui" <tang.jun...@zte.com.cn> > > > > 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.jun...@zte.com.cn> > > --- > > 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@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel