On Tue, Jan 6, 2026 at 2:41 PM Ales Musil <[email protected]> wrote:

> The GCC would report that the queue might be uninitialized,
> rearrange the code slightly to avoid this error:
>
> In function ‘add_ovs_qos_table_entry’,
>     inlined from ‘configure_qos’ at controller/binding.c:419:17,
>     inlined from ‘update_qos’ at controller/binding.c:458:17:
> controller/binding.c:324:5: error: ‘queue’ may be used uninitialized
> [-Werror=maybe-uninitialized]
>   324 |     ovsrec_queue_set_external_ids(queue, &external_ids);
>       |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> controller/binding.c: In function ‘update_qos’:
> controller/binding.c:299:26: note: ‘queue’ was declared here
>   299 |     struct ovsrec_queue *queue;
>       |                          ^~~~~
>
> Fixes: 7d1d111ff213 ("controller: configure qos through ovs qos table and
> do not run tc directly")
> Signed-off-by: Ales Musil <[email protected]>
> ---
>  controller/binding.c | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/controller/binding.c b/controller/binding.c
> index 634edaa4e..eb9524142 100644
> --- a/controller/binding.c
> +++ b/controller/binding.c
> @@ -296,18 +296,17 @@ add_ovs_qos_table_entry(struct ovsdb_idl_txn
> *ovs_idl_txn,
>          smap_clear(&external_ids);
>      }
>
> -    struct ovsrec_queue *queue;
> -    size_t i;
> -    for (i = 0; i < qos->n_queues; i++) {
> -        queue = qos->value_queues[i];
> -
> -        const char *p = smap_get(&queue->external_ids, "ovn_port");
> +    struct ovsrec_queue *queue = NULL;
> +    for (size_t i = 0; i < qos->n_queues; i++) {
> +        const char *p =
> +            smap_get(&qos->value_queues[i]->external_ids, "ovn_port");
>          if (p && !strcmp(p, ovn_port)) {
> +            queue = qos->value_queues[i];
>              break;
>          }
>      }
>
> -    if (i == qos->n_queues) {
> +    if (!queue) {
>          queue = ovsrec_queue_insert(ovs_idl_txn);
>          ovsrec_qos_update_queues_setkey(qos, queue_id, queue);
>      }
> --
> 2.52.0
>
>
Recheck-request: github-robot-_Build_and_Test
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to