New Defects reported by Coverity Scan for freerangerouting/frr
scan-admin at coverity.com
scan-admin at coverity.com
Tue Jan 24 22:17:44 UTC 2023
Hi,
Please find the latest report on new defect(s) introduced to freerangerouting/frr found with Coverity Scan.
4 new defect(s) introduced to freerangerouting/frr found with Coverity Scan.
9 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.
New defect(s) Reported-by: Coverity Scan
Showing 4 of 4 defect(s)
** CID 1532182: (ATOMICITY)
/zebra/zebra_dplane.c: 5555 in dplane_show_provs_helper()
/zebra/zebra_dplane.c: 5555 in dplane_show_provs_helper()
________________________________________________________________________________________________________
*** CID 1532182: (ATOMICITY)
/zebra/zebra_dplane.c: 5555 in dplane_show_provs_helper()
5549
5550 vty_out(vty, "%s (%u): in: %"PRIu64", q: %"PRIu64", q_max: %"PRIu64", out: %"PRIu64", q: %"PRIu64", q_max: %"PRIu64"\n",
5551 prov->dp_name, prov->dp_id, in, in_q, in_max,
5552 out, out_q, out_max);
5553
5554 DPLANE_LOCK();
>>> CID 1532182: (ATOMICITY)
>>> Using an unreliable value of "prov" inside the second locked section. If the data that "prov" depends on was changed by another thread, this use might be incorrect.
5555 prov = dplane_prov_list_next(&zdplane_info.dg_providers, prov);
5556 DPLANE_UNLOCK();
5557 }
5558
5559 return CMD_SUCCESS;
5560 }
/zebra/zebra_dplane.c: 5555 in dplane_show_provs_helper()
5549
5550 vty_out(vty, "%s (%u): in: %"PRIu64", q: %"PRIu64", q_max: %"PRIu64", out: %"PRIu64", q: %"PRIu64", q_max: %"PRIu64"\n",
5551 prov->dp_name, prov->dp_id, in, in_q, in_max,
5552 out, out_q, out_max);
5553
5554 DPLANE_LOCK();
>>> CID 1532182: (ATOMICITY)
>>> Using an unreliable value of "prov" inside the second locked section. If the data that "prov" depends on was changed by another thread, this use might be incorrect.
5555 prov = dplane_prov_list_next(&zdplane_info.dg_providers, prov);
5556 DPLANE_UNLOCK();
5557 }
5558
5559 return CMD_SUCCESS;
5560 }
** CID 1532181: (ATOMICITY)
/zebra/zebra_dplane.c: 6596 in dplane_work_pending()
/zebra/zebra_dplane.c: 6596 in dplane_work_pending()
________________________________________________________________________________________________________
*** CID 1532181: (ATOMICITY)
/zebra/zebra_dplane.c: 6596 in dplane_work_pending()
6590 dplane_provider_unlock(prov);
6591
6592 if (ctx != NULL)
6593 break;
6594
6595 DPLANE_LOCK();
>>> CID 1532181: (ATOMICITY)
>>> Using an unreliable value of "prov" inside the second locked section. If the data that "prov" depends on was changed by another thread, this use might be incorrect.
6596 prov = dplane_prov_list_next(&zdplane_info.dg_providers, prov);
6597 DPLANE_UNLOCK();
6598 }
6599
6600 if (ctx != NULL)
6601 ret = true;
/zebra/zebra_dplane.c: 6596 in dplane_work_pending()
6590 dplane_provider_unlock(prov);
6591
6592 if (ctx != NULL)
6593 break;
6594
6595 DPLANE_LOCK();
>>> CID 1532181: (ATOMICITY)
>>> Using an unreliable value of "prov" inside the second locked section. If the data that "prov" depends on was changed by another thread, this use might be incorrect.
6596 prov = dplane_prov_list_next(&zdplane_info.dg_providers, prov);
6597 DPLANE_UNLOCK();
6598 }
6599
6600 if (ctx != NULL)
6601 ret = true;
** CID 1532180: (ATOMICITY)
/zebra/zebra_dplane.c: 6972 in zebra_dplane_start()
/zebra/zebra_dplane.c: 6972 in zebra_dplane_start()
________________________________________________________________________________________________________
*** CID 1532180: (ATOMICITY)
/zebra/zebra_dplane.c: 6972 in zebra_dplane_start()
6966
6967 if (prov->dp_start)
6968 (prov->dp_start)(prov);
6969
6970 /* Locate next provider */
6971 DPLANE_LOCK();
>>> CID 1532180: (ATOMICITY)
>>> Using an unreliable value of "prov" inside the second locked section. If the data that "prov" depends on was changed by another thread, this use might be incorrect.
6972 prov = dplane_prov_list_next(&zdplane_info.dg_providers, prov);
6973 DPLANE_UNLOCK();
6974 }
6975
6976 frr_pthread_run(zdplane_info.dg_pthread, NULL);
6977 }
/zebra/zebra_dplane.c: 6972 in zebra_dplane_start()
6966
6967 if (prov->dp_start)
6968 (prov->dp_start)(prov);
6969
6970 /* Locate next provider */
6971 DPLANE_LOCK();
>>> CID 1532180: (ATOMICITY)
>>> Using an unreliable value of "prov" inside the second locked section. If the data that "prov" depends on was changed by another thread, this use might be incorrect.
6972 prov = dplane_prov_list_next(&zdplane_info.dg_providers, prov);
6973 DPLANE_UNLOCK();
6974 }
6975
6976 frr_pthread_run(zdplane_info.dg_pthread, NULL);
6977 }
** CID 1532179: (ATOMICITY)
/zebra/zebra_dplane.c: 6826 in dplane_thread_loop()
/zebra/zebra_dplane.c: 6826 in dplane_thread_loop()
________________________________________________________________________________________________________
*** CID 1532179: (ATOMICITY)
/zebra/zebra_dplane.c: 6826 in dplane_thread_loop()
6820 if (IS_ZEBRA_DEBUG_DPLANE_DETAIL)
6821 zlog_debug("dplane dequeues %d completed work from provider %s",
6822 counter, dplane_provider_get_name(prov));
6823
6824 /* Locate next provider */
6825 DPLANE_LOCK();
>>> CID 1532179: (ATOMICITY)
>>> Using an unreliable value of "prov" inside the second locked section. If the data that "prov" depends on was changed by another thread, this use might be incorrect.
6826 prov = dplane_prov_list_next(&zdplane_info.dg_providers, prov);
6827 DPLANE_UNLOCK();
6828 }
6829
6830 /*
6831 * We hit the work limit while processing at least one provider's
/zebra/zebra_dplane.c: 6826 in dplane_thread_loop()
6820 if (IS_ZEBRA_DEBUG_DPLANE_DETAIL)
6821 zlog_debug("dplane dequeues %d completed work from provider %s",
6822 counter, dplane_provider_get_name(prov));
6823
6824 /* Locate next provider */
6825 DPLANE_LOCK();
>>> CID 1532179: (ATOMICITY)
>>> Using an unreliable value of "prov" inside the second locked section. If the data that "prov" depends on was changed by another thread, this use might be incorrect.
6826 prov = dplane_prov_list_next(&zdplane_info.dg_providers, prov);
6827 DPLANE_UNLOCK();
6828 }
6829
6830 /*
6831 * We hit the work limit while processing at least one provider's
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yrtN2DGUU98GYhjd55wXsXtw53zRK70R0agdV-2Fb7c45-2BkxBoZjryQtr5SpUD80NNfE-3DaosO_O0IDF7c8sUs2B6kWTeWwAJZqriD5fgsfL8PAN30oQTwdqHbDKq43Kv7VPJsuwhilWW1y4rKogdoRiw9v1DlRorP5LqSw6km4IdhMtsaTOd5xVHfLZi0H-2BAn98GVGmHx9DpBH-2FobDs-2BlqaWsK1yWuULeUkxzfjlq5tUiUN6FROJoNtG9KI2-2F0HcZCCWEu7sKUZOceVtKeqm-2FPd0j4u8o2eA-3D-3D
More information about the dev
mailing list