Re: [Qemu-devel] [RFC PATCH v2 04/17] fuzz: Skip modules that were already initialized
On Fri, 2019-08-09 at 10:04 +0100, Stefan Hajnoczi wrote: > On Mon, Aug 05, 2019 at 07:11:05AM +, Oleinik, Alexander wrote: > > Signed-off-by: Alexander Oleinik > > --- > > util/module.c | 7 +++ > > 1 file changed, 7 insertions(+) > > Why is this necessary? Existing callers only invoke this function > once > for each type. This was suggested by Paolo in Message-ID: fad9d12a-39df-e2fa-064b-5132add9d...@redhat.com I need to initialize the QOS module in the fuzzer main to identify the qemu arguments, prior to running vl.c:main. > Please include justification in the commit description. Will do > Stefan
Re: [Qemu-devel] [RFC PATCH v2 04/17] fuzz: Skip modules that were already initialized
On Mon, Aug 05, 2019 at 07:11:05AM +, Oleinik, Alexander wrote: > Signed-off-by: Alexander Oleinik > --- > util/module.c | 7 +++ > 1 file changed, 7 insertions(+) Why is this necessary? Existing callers only invoke this function once for each type. Please include justification in the commit description. Stefan signature.asc Description: PGP signature
Re: [Qemu-devel] [RFC PATCH v2 04/17] fuzz: Skip modules that were already initialized
On 05/08/19 09:11, Oleinik, Alexander wrote: > Signed-off-by: Alexander Oleinik > --- > util/module.c | 7 +++ > 1 file changed, 7 insertions(+) > > diff --git a/util/module.c b/util/module.c > index 142db7e911..3d4380fd47 100644 > --- a/util/module.c > +++ b/util/module.c > @@ -30,6 +30,7 @@ typedef struct ModuleEntry > typedef QTAILQ_HEAD(, ModuleEntry) ModuleTypeList; > > static ModuleTypeList init_type_list[MODULE_INIT_MAX]; > +static bool modules_init_done[MODULE_INIT_MAX]; > > static ModuleTypeList dso_init_list; > > @@ -91,11 +92,17 @@ void module_call_init(module_init_type type) > ModuleTypeList *l; > ModuleEntry *e; > > +if (modules_init_done[type]) { > +return; > +} > + > l = find_type(type); > > QTAILQ_FOREACH(e, l, node) { > e->init(); > } > + > +modules_init_done[type] = true; > } > > #ifdef CONFIG_MODULES > Reviewed-by: Paolo Bonzini
[Qemu-devel] [RFC PATCH v2 04/17] fuzz: Skip modules that were already initialized
Signed-off-by: Alexander Oleinik --- util/module.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/util/module.c b/util/module.c index 142db7e911..3d4380fd47 100644 --- a/util/module.c +++ b/util/module.c @@ -30,6 +30,7 @@ typedef struct ModuleEntry typedef QTAILQ_HEAD(, ModuleEntry) ModuleTypeList; static ModuleTypeList init_type_list[MODULE_INIT_MAX]; +static bool modules_init_done[MODULE_INIT_MAX]; static ModuleTypeList dso_init_list; @@ -91,11 +92,17 @@ void module_call_init(module_init_type type) ModuleTypeList *l; ModuleEntry *e; +if (modules_init_done[type]) { +return; +} + l = find_type(type); QTAILQ_FOREACH(e, l, node) { e->init(); } + +modules_init_done[type] = true; } #ifdef CONFIG_MODULES -- 2.20.1