DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] New Coverity warnings
@ 2015-12-08 16:50 Stephen Hemminger
  2015-12-08 17:19 ` Mcnamara, John
  0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2015-12-08 16:50 UTC (permalink / raw)
  To: dev

*** CID 120410:  Error handling issues  (CHECKED_RETURN)
/examples/l2fwd-keepalive/main.c: 571 in dead_core()
565     
566     static void
567     dead_core(__attribute__((unused)) void *ptr_data, const int id_core)
568     {
569     	printf("Dead core %i - restarting..\n", id_core);
570     	if (rte_eal_get_lcore_state(id_core) == FINISHED) {
>>>     CID 120410:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "rte_eal_wait_lcore" without checking return value (as is done elsewhere 32 out of 40 times).  
571     		rte_eal_wait_lcore(id_core);
572     		rte_eal_remote_launch(l2fwd_launch_one_lcore, NULL, id_core);
573     	} else {
574     		printf("..false positive!\n");
575     	}
576     }

** CID 37790:  Error handling issues  (CHECKED_RETURN)
/examples/bond/main.c: 593 in cmd_stop_parsed()


________________________________________________________________________________________________________
*** CID 37790:  Error handling issues  (CHECKED_RETURN)
/examples/bond/main.c: 593 in cmd_stop_parsed()
587     					"lcore_main not running on core:%d\n",
588     					global_flag_stru_p->LcoreMainCore);
589     		rte_spinlock_unlock(&global_flag_stru_p->lock);
590     		return;
591     	}
592     	global_flag_stru_p->LcoreMainIsRunning = 0;
>>>     CID 37790:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "rte_eal_wait_lcore" without checking return value (as is done elsewhere 32 out of 40 times).  
593     	rte_eal_wait_lcore(global_flag_stru_p->LcoreMainCore);
594     	cmdline_printf(cl,
595     			"lcore_main stopped on core:%d\n",
596     			global_flag_stru_p->LcoreMainCore);
597     	rte_spinlock_unlock(&global_flag_stru_p->lock);
598     }

** CID 37789:  Error handling issues  (CHECKED_RETURN)
/examples/bond/main.c: 631 in cmd_quit_parsed()


________________________________________________________________________________________________________
*** CID 37789:  Error handling issues  (CHECKED_RETURN)
/examples/bond/main.c: 631 in cmd_quit_parsed()
625     					global_flag_stru_p->LcoreMainCore);
626     		rte_spinlock_unlock(&global_flag_stru_p->lock);
627     		cmdline_quit(cl);
628     		return;
629     	}
630     	global_flag_stru_p->LcoreMainIsRunning = 0;
>>>     CID 37789:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "rte_eal_wait_lcore" without checking return value (as is done elsewhere 32 out of 40 times).  
631     	rte_eal_wait_lcore(global_flag_stru_p->LcoreMainCore);
632     	cmdline_printf(cl,
633     			"lcore_main stopped on core:%d\n",
634     			global_flag_stru_p->LcoreMainCore);
635     	rte_spinlock_unlock(&global_flag_stru_p->lock);
636     	cmdline_quit(cl);

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] New Coverity warnings
  2015-12-08 16:50 [dpdk-dev] New Coverity warnings Stephen Hemminger
@ 2015-12-08 17:19 ` Mcnamara, John
  0 siblings, 0 replies; 2+ messages in thread
From: Mcnamara, John @ 2015-12-08 17:19 UTC (permalink / raw)
  To: Stephen Hemminger, dev

Hi,

Stephen, thanks for highlighting this.

For the last few analysis runs I have been generating some automatic emails from these summary emails and git blame. There is an example below.

I'd like to do this for all of the open defects but can't find a way to generate a similar report for existing defects. Also, assigning defects within the web app doesn't seem to email the assignee. The open source version of Coverity scan doesn't seem to have a web services interface like the commercial version (you get what you pay for) so I can't easily query it.

If anyone knows more about automating Coverity scan let me know.

But as Stephen says there are a lot of low-lying fruit that could be fixed:

    http://scan.coverity.com/projects/dpdk-data-plane-development-kit

John.


P.S. Sample email based on Coverity report:



Hi,

This is an automated email in relation to a new Coverity static code analysis
issue in DPDK. Details of the issue are below.

The email has been sent to you because you have been identified as the author
or maintainer of the code where the defect appears.

There are several possible scenarios:

* The defect identified isn't a real issue: In this case you can edit the
  defect online and change the defect "Classification" to "False Positive" or
  "Intentional" and change the "Action" to "Ignore". You should also update
  the "Severity", add yourself as the "Owner" and add a comment note.

* The defect is a real issue: In this case you should submit a patch to fix
  the issues. The patch should include the following information in addition
  to the usual comments and signoff:

    Coverity issue: 120412
    Fixes: b4aee0fb9c6d ("examples/ip_pipeline: reconfigure thread binding dynamically")

  In Coverity you should update the Classification, Severity, Action (to "Fix
  required" or "Fix Submitted"), Owner and a Comment if necessary.

* The defect wasn't introduced by you. The line where the defect occurs may
  not be the source of the defect. If this is the case then let the actual
  author of the defect know by forwarding this email with a note or reply to
  the sender of this automated email: <john.mcnamara@intel.com>

You can review the defects online at:

    http://scan.coverity.com/projects/dpdk-data-plane-development-kit

If you aren't registered for the DPDK Coverity you can do so here:

    http://scan.coverity.com/users/sign_up

Git commit data and Coverity defect information below.

Commit data
===========

Commit: examples/ip_pipeline: reconfigure thread binding dynamically
Id:     b4aee0fb9c6d4fee771271d6c03a65dc27ba024a
Author: Piotr Azarewicz
Email:  piotrx.t.azarewicz@intel.com
Date:   Thu Oct 29 15:36:53 2015 +0100

Defect information
==================

/examples/ip_pipeline/thread_fe.c: 338 in app_pipeline_thread_cmd_push()
*** CID 120412:  Code maintainability issues  (SIZEOF_MISMATCH)
332             /* Check for available slots in the application commands array */
333             n_cmds = RTE_DIM(thread_cmds) - 1;
334             if (n_cmds > APP_MAX_CMDS - app->n_cmds)
335                     return -ENOMEM;
336     
337             /* Push thread commands into the application */
>>>     CID 120412:  Code maintainability issues  (SIZEOF_MISMATCH)
>>>     Passing argument "&app->cmds[app->n_cmds]" of type "cmdline_parse_ctx_t *" and argument "n_cmds * 8UL /* sizeof (cmdline_parse_ctx_t *) */" to function "memcpy" is suspicious. In this case, "sizeof (cmdline_parse_ctx_t *)" is equal to "sizeof (cmdline_parse_ctx_t)", but this is not a portable assumption.
338             memcpy(&app->cmds[app->n_cmds],
339                             thread_cmds,
340                     n_cmds * sizeof(cmdline_parse_ctx_t *));
341     
342             for (i = 0; i < n_cmds; i++)
34

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-12-08 17:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-08 16:50 [dpdk-dev] New Coverity warnings Stephen Hemminger
2015-12-08 17:19 ` Mcnamara, John

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).