On Thu, 9 Jun 2022 15:11:19 -0600 Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote: > A relatively recent patch added a call to validate_geometry() in > Manage_add() that has level=LEVEL_CONTAINER and chunk=NULL. > > This causes some ddf tests to segfault which aborts the test suite. > > To fix this, avoid dereferencing chunk when the level is > LEVEL_CONTAINER or LEVEL_NONE. > > Fixes: 1f5d54a06df0 ("Manage: Call validate_geometry when adding drive to > external container") Cc: Mariusz Tkaczyk <mariusz.tkaczyk@xxxxxxxxxxxxxxx> > Signed-off-by: Logan Gunthorpe <logang@xxxxxxxxxxxx> > --- > super-ddf.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/super-ddf.c b/super-ddf.c > index d3c7a4082046..6bd357cf9b82 100644 > --- a/super-ddf.c > +++ b/super-ddf.c > @@ -3369,9 +3369,6 @@ static int validate_geometry_ddf(struct supertype *st, > * If given BVDs, we make an SVD, changing all the GUIDs in the > process. */ > > - if (*chunk == UnSet) > - *chunk = DEFAULT_CHUNK; > - > if (level == LEVEL_NONE) > level = LEVEL_CONTAINER; > if (level == LEVEL_CONTAINER) { > @@ -3381,6 +3378,9 @@ static int validate_geometry_ddf(struct supertype *st, > freesize, verbose); > } > > + if (*chunk == UnSet) > + *chunk = DEFAULT_CHUNK; > + > if (!dev) { > mdu_array_info_t array = { > .level = level, Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@xxxxxxxxxxxxxxx>