> 2022年9月3日 16:25,Coly Li <colyli@xxxxxxx> 写道: > > > >> 2022年8月2日 10:17,Wu Guanghao <wuguanghao3@xxxxxxxxxx> 写道: >> >> sra = sysfs_read() should be free before return in >> get_vd_num_of_subarray() >> >> Signed-off-by: Wu Guanghao <wuguanghao3@xxxxxxxxxx> >> Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@xxxxxxxxxxxxxxx> > > Hi Guanghao, > > I have a question for this patch, please correct me if I am wrong. > > > >> --- >> super-ddf.c | 9 +++++++-- >> 1 file changed, 7 insertions(+), 2 deletions(-) >> >> diff --git a/super-ddf.c b/super-ddf.c >> index abbc8b09..6d4618fe 100644 >> --- a/super-ddf.c >> +++ b/super-ddf.c >> @@ -1599,15 +1599,20 @@ static unsigned int get_vd_num_of_subarray(struct supertype *st) >> sra = sysfs_read(-1, st->devnm, GET_VERSION); >> if (!sra || sra->array.major_version != -1 || >> sra->array.minor_version != -2 || >> - !is_subarray(sra->text_version)) >> + !is_subarray(sra->text_version)) { >> + if (sra) >> + sysfs_free(sra); >> return DDF_NOTFOUND; >> + } >> >> sub = strchr(sra->text_version + 1, '/'); >> if (sub != NULL) >> vcnum = strtoul(sub + 1, &end, 10); >> if (sub == NULL || *sub == '\0' || *end != '\0' || >> - vcnum >= be16_to_cpu(ddf->active->max_vd_entries)) >> + vcnum >= be16_to_cpu(ddf->active->max_vd_entries)) { >> + sysfs_free(sra); >> return DDF_NOTFOUND; >> + } >> >> return vcnum; > > > Before return vcnum, should call sysfs_free(sra) ? > > Thank you in advance. Ping? Coly Li