Looks good to me Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> On Tue, Oct 08, 2013 at 05:05:54PM -0500, Eric Sandeen wrote: > If we go down the "/* Should never get here. */" path > in partial_reg(), we issue a warning but then continue > with the function. This calls pi_unlock() twice, > but worse, uses a null isptr: > > if ( ! isptr ) { > ... isptr is never set if we get to ... > /* Should never get here. */ > pi_unlock(); > ... > } > ... > /* Update this drive's entry */ > bsptr = &isptr->is_bs[d_index]; > if (bsptr->endoffset == 0) { > > From all appearances, because we unlock on that "never get > here" path, it should just be returning after printing the > warning. So add that, and we avoid the segfault. > > The previous fix to partial_reg() should prevent us from > hitting this in the first place. > > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > > diff --git a/restore/content.c b/restore/content.c > index 54d933c..cc49336 100644 > --- a/restore/content.c > +++ b/restore/content.c > @@ -9007,6 +9007,7 @@ partial_reg( ix_t d_index, > #ifdef DEBUGPARTIALS > dump_partials(); > #endif > + return; > } > > found: > > _______________________________________________ > xfs mailing list > xfs@xxxxxxxxxxx > http://oss.sgi.com/mailman/listinfo/xfs -- Carlos _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs