Message ID | 20241029102326.473133-1-pbonzini@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | accel: remove dead statement and useless assertion | expand |
Paolo Bonzini <pbonzini@redhat.com> writes: > ops is assigned again just below, and the result of the assignment must > be non-NULL. > > Originally, the check for NULL was meant to be a check for the existence > of the ops class: > > ops = ACCEL_OPS_CLASS(object_class_by_name(ops_name)); > ... > g_assert(ops != NULL); > > (where the ops assignment begot the one that I am removing); but this is > meaningless now that oc is checked to be non-NULL before ops is assigned > (commit 5141e9a23fc, "accel: abort if we fail to load the accelerator > plugin", 2022-11-06). > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Although we could further clean-up with: modified accel/accel-system.c @@ -65,7 +65,7 @@ void accel_setup_post(MachineState *ms) void accel_system_init_ops_interfaces(AccelClass *ac) { const char *ac_name; - char *ops_name; + g_autofree char *ops_name = NULL; ObjectClass *oc; AccelOpsClass *ops; @@ -79,7 +79,6 @@ void accel_system_init_ops_interfaces(AccelClass *ac) error_report("fatal: could not load module for type '%s'", ops_name); exit(1); } - g_free(ops_name); ops = ACCEL_OPS_CLASS(oc); /* * all accelerators need to define ops, providing at least a mandatory > --- > accel/accel-system.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/accel/accel-system.c b/accel/accel-system.c > index f6c947dd821..61d689935e1 100644 > --- a/accel/accel-system.c > +++ b/accel/accel-system.c > @@ -73,19 +73,17 @@ void accel_system_init_ops_interfaces(AccelClass *ac) > g_assert(ac_name != NULL); > > ops_name = g_strdup_printf("%s" ACCEL_OPS_SUFFIX, ac_name); > - ops = ACCEL_OPS_CLASS(module_object_class_by_name(ops_name)); > oc = module_object_class_by_name(ops_name); > if (!oc) { > error_report("fatal: could not load module for type '%s'", ops_name); > exit(1); > } > g_free(ops_name); > - ops = ACCEL_OPS_CLASS(oc); > /* > * all accelerators need to define ops, providing at least a mandatory > * non-NULL create_vcpu_thread operation. > */ > - g_assert(ops != NULL); > + ops = ACCEL_OPS_CLASS(oc); > if (ops->ops_init) { > ops->ops_init(ops); > }
diff --git a/accel/accel-system.c b/accel/accel-system.c index f6c947dd821..61d689935e1 100644 --- a/accel/accel-system.c +++ b/accel/accel-system.c @@ -73,19 +73,17 @@ void accel_system_init_ops_interfaces(AccelClass *ac) g_assert(ac_name != NULL); ops_name = g_strdup_printf("%s" ACCEL_OPS_SUFFIX, ac_name); - ops = ACCEL_OPS_CLASS(module_object_class_by_name(ops_name)); oc = module_object_class_by_name(ops_name); if (!oc) { error_report("fatal: could not load module for type '%s'", ops_name); exit(1); } g_free(ops_name); - ops = ACCEL_OPS_CLASS(oc); /* * all accelerators need to define ops, providing at least a mandatory * non-NULL create_vcpu_thread operation. */ - g_assert(ops != NULL); + ops = ACCEL_OPS_CLASS(oc); if (ops->ops_init) { ops->ops_init(ops); }
ops is assigned again just below, and the result of the assignment must be non-NULL. Originally, the check for NULL was meant to be a check for the existence of the ops class: ops = ACCEL_OPS_CLASS(object_class_by_name(ops_name)); ... g_assert(ops != NULL); (where the ops assignment begot the one that I am removing); but this is meaningless now that oc is checked to be non-NULL before ops is assigned (commit 5141e9a23fc, "accel: abort if we fail to load the accelerator plugin", 2022-11-06). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- accel/accel-system.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)