[dpdk-dev] LGTM static code analysis of DPDK

Mcnamara, John john.mcnamara at intel.com
Wed Mar 27 18:44:05 CET 2019


Hi,

While Coverity was down recently we looked at some other static code analysis tools available to open source communities.

One of these is a new interesting tool called LGTM:

    https://lgtm.com/projects/g/DPDK/dpdk/overview/

I ran a crosscheck git-blame and identified the probable* authors of the defects. Can the people on the TO: list have a look at the defects that appear to come from their code and submit fixes as necessary. See the full list below for names, files and line numbers. Some of these are pretty minor but some are definitely defects.

* git-blame may not be accurate in this case because the code may have changed since the defect was introduced. The GUI has more information on the commits that introduced some of the defects but that information wasn't available outside the GUI.

You can drill down into the files using this link:

   https://lgtm.com/projects/g/DPDK/dpdk/latest/files/

The defects are shown below.

John



Author                                  File                                             Line
======                                  ====                                             ====
ajit.khaparde at broadcom.com              drivers/net/bnxt/bnxt_hwrm.c                      256
ajit.khaparde at broadcom.com              drivers/net/bnxt/bnxt_ethdev.c                   3308
ajit.khaparde at broadcom.com              drivers/net/bnxt/bnxt_ethdev.c                   3316
alejandro.lucero at netronome.com          drivers/net/nfp/nfpcore/nfp_target.h              547
allain.legacy at windriver.com             drivers/net/avp/avp_ethdev.c                      272
amoreton at solarflare.com                 drivers/net/sfc/base/medford2_nic.c                21
anatoly.burakov at intel.com               lib/librte_eal/common/eal_common_fbarray.c         55
andriy.berestovskyy at caviumnetworks.com  usertools/cpu_layout.py                            25
artem.andreev at oktetlabs.ru              drivers/mempool/bucket/rte_mempool_bucket.c       546
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_ev.c                    908
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_filter.c                432
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_filter.c                622
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_filter.c                815
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_filter.c               1329
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_impl.h                   69
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_mac.c                   289
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_mcdi.c                  221
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_nic.c                  1971
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_nic.c                  2454
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_nic.c                  2461
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_nvram.c                2421
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_nvram.c                2422
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_rx.c                    997
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_rx.c                    999
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_tx.c                    230
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_tx.c                    232
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_tx.c                    703
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_tx.c                    710
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_tx.c                    749
arybchenko at solarflare.com               drivers/net/sfc/base/ef10_tx.c                    751
arybchenko at solarflare.com               drivers/net/sfc/base/efx.h                       2906
arybchenko at solarflare.com               drivers/net/sfc/base/efx_impl.h                    17
arybchenko at solarflare.com               drivers/net/sfc/base/efx_sram.c                    30
arybchenko at solarflare.com               drivers/net/sfc/base/efx_sram.c                   151
arybchenko at solarflare.com               drivers/net/sfc/base/hunt_nic.c                   153
arybchenko at solarflare.com               drivers/net/sfc/sfc.c                             188
arybchenko at solarflare.com               drivers/net/sfc/sfc_ef10_essb_rx.c                139
arybchenko at solarflare.com               drivers/net/sfc/sfc_ef10_essb_rx.c                525
bruce.richardson at intel.com              drivers/event/sw/sw_evdev_xstats.c                253
bruce.richardson at intel.com              drivers/net/virtio/virtio_user/vhost_kernel_tap.h   1
bruce.richardson at intel.com              lib/librte_acl/acl_run_sse.h                        1
changchun.ouyang at intel.com              drivers/net/ixgbe/base/ixgbe_phy.c                207
changchun.ouyang at intel.com              drivers/net/ixgbe/base/ixgbe_phy.c                211
ciara.power at intel.com                   usertools/dpdk-telemetry-client.py                 75
ciara.power at intel.com                   usertools/dpdk-telemetry-client.py                 90
ciara.power at intel.com                   usertools/dpdk-telemetry-client.py                 29
ciara.power at intel.com                   usertools/dpdk-telemetry-client.py                 44
ciara.power at intel.com                   usertools/dpdk-telemetry-client.py                102
ciara.power at intel.com                   lib/librte_telemetry/rte_telemetry_parser.c       453
ciara.power at intel.com                   lib/librte_telemetry/rte_telemetry_parser.c       518
david.marchand at 6wind.com                drivers/bus/pci/linux/pci_uio.c                   396
david.marchand at 6wind.com                drivers/bus/pci/linux/pci_uio.c                   557
fiona.trahe at intel.com                   drivers/common/qat/qat_device.c                   195
g.singh at nxp.com                         drivers/crypto/caam_jr/caam_jr.c                 2270
g.singh at nxp.com                         drivers/crypto/caam_jr/caam_jr.c                 2283
gaetan.rivet at 6wind.com                  drivers/net/failsafe/failsafe_private.h           124
gaetan.rivet at 6wind.com                  drivers/net/failsafe/failsafe_private.h           179
gprathyusha at caviumnetworks.com          usertools/dpdk-devbind.py                         389
gprathyusha at caviumnetworks.com          usertools/dpdk-devbind.py                         396
gprathyusha at caviumnetworks.com          usertools/dpdk-devbind.py                         405
gprathyusha at caviumnetworks.com          usertools/dpdk-devbind.py                         414
gprathyusha at caviumnetworks.com          usertools/dpdk-devbind.py                         452
gprathyusha at caviumnetworks.com          usertools/dpdk-devbind.py                         459
gprathyusha at caviumnetworks.com          usertools/dpdk-devbind.py                         206
harry.van.haaren at intel.com              drivers/event/sw/sw_evdev_selftest.c              388
harry.van.haaren at intel.com              drivers/event/sw/sw_evdev_selftest.c              480
harry.van.haaren at intel.com              drivers/event/sw/sw_evdev_selftest.c              549
harry.van.haaren at intel.com              drivers/event/sw/sw_evdev_selftest.c              710
harry.van.haaren at intel.com              drivers/event/sw/sw_evdev_selftest.c              798
harry.van.haaren at intel.com              drivers/event/sw/sw_evdev_selftest.c             2029
harry.van.haaren at intel.com              drivers/event/sw/sw_evdev_selftest.c             2128
harry.van.haaren at intel.com              drivers/event/sw/sw_evdev_selftest.c             2178
harry.van.haaren at intel.com              drivers/event/sw/sw_evdev_selftest.c             2288
harry.van.haaren at intel.com              drivers/event/sw/sw_evdev_selftest.c             2375
harry.van.haaren at intel.com              drivers/event/sw/sw_evdev_selftest.c             2419
harry.van.haaren at intel.com              drivers/net/virtio/virtio_rxtx.c                 1120
hemant.agrawal at nxp.com                  drivers/bus/fslmc/qbman/qbman_portal.c            934
hemant.agrawal at nxp.com                  drivers/bus/fslmc/qbman/qbman_portal.c           1000
hemant.agrawal at nxp.com                  drivers/mempool/dpaa/dpaa_mempool.c               299
hemant.agrawal at nxp.com                  drivers/bus/dpaa/base/qbman/qman.h                  1
hemant.agrawal at nxp.com                  drivers/bus/fslmc/qbman/include/fsl_qbman_debug.h   1
huawei.xie at intel.com                    lib/librte_vhost/vhost_user.h                       5
igor.russkikh at aquantia.com              drivers/net/atlantic/hw_atl/hw_atl_utils.c        465
intel.com                               usertools/cpu_layout.py                            61
intel.com                               usertools/cpu_layout.py                             7
intel.com                               usertools/dpdk-devbind.py                          10
intel.com                               usertools/dpdk-devbind.py                         347
intel.com                               usertools/dpdk-devbind.py                         423
intel.com                               usertools/dpdk-devbind.py                         432
intel.com                               drivers/net/e1000/base/e1000_i210.c                93
intel.com                               drivers/net/e1000/igb_rxtx.c                     2278
intel.com                               drivers/net/ixgbe/ixgbe_rxtx.c                   4497
intel.com                               drivers/net/e1000/base/e1000_82575.c             3415
intel.com                               drivers/net/e1000/base/e1000_82575.c             3419
intel.com                               drivers/net/ixgbe/base/ixgbe_phy.c               2165
intel.com                               drivers/net/ixgbe/base/ixgbe_phy.c               2169
intel.com                               drivers/net/ixgbe/ixgbe_pf.c                      227
intel.com                               drivers/net/ixgbe/ixgbe_pf.c                      381
intel.com                               drivers/net/e1000/base/e1000_manage.c             160
intel.com                               lib/librte_sched/rte_sched.c                      752
jblunck at infradead.org                   drivers/net/bonding/rte_eth_bond_pmd.c           3314
jerin.jacob at caviumnetworks.com          drivers/net/thunderx/nicvf_rxtx.c                 448
jerin.jacob at caviumnetworks.com          drivers/net/thunderx/nicvf_rxtx.c                 537
jfreimann at redhat.com                    drivers/net/virtio/virtio_ring.h                  169
jianfeng.tan at intel.com                  drivers/net/virtio/virtio_user/vhost.h              5
jianjay.zhou at huawei.com                 drivers/crypto/virtio/virtio_cryptodev.c         1253
jianjay.zhou at huawei.com                 drivers/crypto/virtio/virtio_cryptodev.c         1337
jianjay.zhou at huawei.com                 drivers/crypto/virtio/virtio_cryptodev.c          778
jingjing.wu at intel.com                   drivers/net/i40e/i40e_rxtx.c                     1806
jingjing.wu at intel.com                   drivers/net/i40e/i40e_rxtx.c                     2144
johndale at cisco.com                      drivers/net/enic/enic_flow.c                     1389
johndale at cisco.com                      drivers/net/enic/enic_flow.c                     1516
johndale at cisco.com                      drivers/net/enic/enic_flow.c                     1517
kamil.rytarowski at caviumnetworks.com     usertools/dpdk-devbind.py                         157
kirill.rybalchenko at intel.com            drivers/net/i40e/i40e_ethdev.c                   8817
kirill.rybalchenko at intel.com            drivers/net/i40e/i40e_fdir.c                     2035
kirill.rybalchenko at intel.com            drivers/net/ixgbe/ixgbe_fdir.c                   1459
konstantin.ananyev at intel.com            lib/librte_acl/acl_gen.c                          373
konstantin.ananyev at intel.com            lib/librte_acl/acl_run_avx2.h                      79
konstantin.ananyev at intel.com            lib/librte_acl/acl_bld.c                         1384
konstantin.ananyev at intel.com            lib/librte_acl/acl_bld.c                         1394
konstantin.ananyev at intel.com            lib/librte_acl/rte_acl.c                          215
konstantin.ananyev at intel.com            lib/librte_acl/rte_acl.c                          274
konstantin.ananyev at intel.com            lib/librte_acl/rte_acl.c                          304
konstantin.ananyev at intel.com            lib/librte_bpf/bpf_exec.c                         145
konstantin.ananyev at intel.com            lib/librte_bpf/bpf_exec.c                         179
kumaras at chelsio.com                     drivers/net/cxgbe/sge.c                          1193
kumaras at chelsio.com                     drivers/net/cxgbe/sge.c                          1204
kumaras at chelsio.com                     drivers/net/cxgbe/sge.c                          1217
kumaras at chelsio.com                     drivers/net/cxgbe/sge.c                          1219
kumaras at chelsio.com                     drivers/net/cxgbe/sge.c                          1227
kumaras at chelsio.com                     drivers/net/cxgbe/sge.c                          1229
liang.j.ma at intel.com                    drivers/event/opdl/opdl_ring.c                    256
liang.j.ma at intel.com                    drivers/event/opdl/opdl_ring.c                    260
liang.j.ma at intel.com                    drivers/event/opdl/opdl_ring.c                    263
liang.j.ma at intel.com                    drivers/event/opdl/opdl_ring.c                    277
liang.j.ma at intel.com                    drivers/event/opdl/opdl_ring.c                    281
liang.j.ma at intel.com                    drivers/event/opdl/opdl_ring.c                    284
liang-min.wang at intel.com                drivers/net/e1000/igb_regs.h                      148
linville at tuxdriver.com                  drivers/net/af_packet/rte_eth_af_packet.c         700
linville at tuxdriver.com                  drivers/net/af_packet/rte_eth_af_packet.c         790
maciejx.t.gajdzica at intel.com            drivers/net/bonding/rte_eth_bond_pmd.c             48
motih at mellanox.com                      drivers/net/failsafe/failsafe_ops.c               479
mspender at solarflare.com                 drivers/net/sfc/base/ef10_ev.c                    956
nhorman at tuxdriver.com                   usertools/dpdk-pmdinfo.py                         225
nhorman at tuxdriver.com                   usertools/dpdk-pmdinfo.py                          70
nhorman at tuxdriver.com                   usertools/dpdk-pmdinfo.py                         112
nhorman at tuxdriver.com                   usertools/dpdk-pmdinfo.py                         181
nipun.gupta at nxp.com                     drivers/bus/fslmc/qbman/qbman_portal.c            803
nipun.gupta at nxp.com                     drivers/bus/fslmc/qbman/qbman_portal.c            860
pablo.de.lara.guarch at intel.com          drivers/net/bonding/rte_eth_bond_args.c           228
pablo.de.lara.guarch at intel.com          lib/librte_efd/rte_efd.c                          584
pablo.de.lara.guarch at intel.com          lib/librte_hash/rte_cuckoo_hash.c                 570
paul.m.stillwell.jr at intel.com           drivers/net/ice/base/ice_controlq.c               818
paul.m.stillwell.jr at intel.com           drivers/net/ice/base/ice_controlq.c               896
paul.m.stillwell.jr at intel.com           drivers/net/ice/base/ice_controlq.c               906
pavel.belous at aquantia.com               drivers/net/atlantic/atl_ethdev.c                 593
pbhagavatula at caviumnetworks.com         drivers/event/octeontx/timvf_evdev.c               98
pbhagavatula at caviumnetworks.com         drivers/event/octeontx/timvf_evdev.c              176
qiming.yang at intel.com                   drivers/net/ixgbe/base/ixgbe_common.c            5043
radu.nicolau at intel.com                  drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c            101
radu.nicolau at intel.com                  drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c            102
radu.nicolau at intel.com                  drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c            103
radu.nicolau at intel.com                  drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c            104
rahul.lakkireddy at chelsio.com            drivers/net/cxgbe/base/t4_hw.c                   3797
rahul.lakkireddy at chelsio.com            drivers/net/cxgbe/cxgbe_ethdev.c                  624
rahul.lakkireddy at chelsio.com            drivers/net/cxgbe/sge.c                          1252
rahul.lakkireddy at chelsio.com            drivers/net/cxgbe/sge.c                          1299
rahul.lakkireddy at chelsio.com            drivers/net/cxgbe/sge.c                          1302
rasesh.mody at cavium.com                  drivers/net/qede/base/ecore_dev.c                2843
rasesh.mody at cavium.com                  drivers/net/qede/base/ecore_init_fw_funcs.c       211
rasesh.mody at cavium.com                  drivers/net/qede/base/ecore_init_fw_funcs.c       493
rasesh.mody at qlogic.com                  drivers/net/qede/base/ecore_chain.h               190
rasesh.mody at qlogic.com                  drivers/net/qede/base/ecore_dev.c                3070
rasesh.mody at qlogic.com                  drivers/net/qede/base/ecore_dev.c                3089
rasesh.mody at qlogic.com                  drivers/net/qede/base/ecore_int.c                 893
rasesh.mody at qlogic.com                  drivers/net/qede/base/ecore_int.c                1154
rasesh.mody at qlogic.com                  drivers/net/qede/base/ecore_int.c                1994
rasesh.mody at qlogic.com                  drivers/net/qede/base/ecore_int_api.h              66
rasesh.mody at qlogic.com                  drivers/net/qede/base/ecore_init_fw_funcs.c       972
rasesh.mody at qlogic.com                  drivers/net/qede/base/ecore_sriov.c               125
rasesh.mody at qlogic.com                  drivers/net/qede/base/ecore_hw.c                  588
rk at semihalf.com                         drivers/net/ena/base/ena_com.c                    377
sashas at lightbitslabs.com                drivers/net/ena/ena_ethdev.c                     2572
sashas at lightbitslabs.com                drivers/net/ena/ena_ethdev.c                     2584
sashas at lightbitslabs.com                drivers/net/ena/ena_ethdev.c                     2595
sergio.gonzalez.monroy at intel.com        lib/librte_eal/common/arch/x86/rte_cycles.c       105
shaguna at chelsio.com                     drivers/net/cxgbe/cxgbe_filter.c                  196
shaguna at chelsio.com                     drivers/net/cxgbe/cxgbe_filter.c                  292
shaguna at chelsio.com                     drivers/net/cxgbe/cxgbe_filter.c                  316
shaguna at chelsio.com                     drivers/net/cxgbe/cxgbe_main.c                    387
shreyansh.jain at nxp.com                  drivers/net/dpaa/dpaa_rxtx.c                      307
shreyansh.jain at nxp.com                  drivers/net/dpaa/dpaa_rxtx.c                      323
shreyansh.jain at nxp.com                  drivers/net/dpaa/dpaa_rxtx.c                      339
slawomirx.mrozowicz at intel.com           drivers/crypto/scheduler/scheduler_pmd_ops.c      474
somnath.kotur at broadcom.com              drivers/net/bnxt/bnxt_hwrm.c                     3359
ssujith at cisco.com                       drivers/net/enic/base/vnic_dev.c                  224
stephen at networkplumber.org              drivers/net/tap/tap_log.h                           1
stephen at networkplumber.org              lib/librte_eal/common/eal_common_hexdump.c         39
stephen at networkplumber.org              lib/librte_eal/common/eal_common_hexdump.c         41
stephen at networkplumber.org              lib/librte_eal/common/eal_common_hexdump.c         46
sthemmin at microsoft.com                  drivers/net/netvsc/hn_rxtx.c                      126
sthemmin at microsoft.com                  drivers/net/netvsc/hn_nvs.h                         1
sthemmin at microsoft.com                  drivers/net/netvsc/hn_rndis.h                       1
sthemmin at microsoft.com                  drivers/net/netvsc/hn_var.h                         1
sunil.kori at nxp.com                      drivers/net/dpaa2/dpaa2_flow.c                   1726
tianfei.zhang at intel.com                 drivers/raw/ifpga_rawdev/base/ifpga_enumerate.c   267
tianfei.zhang at intel.com                 drivers/raw/ifpga_rawdev/base/opae_hw_api.h        41
tianfei.zhang at intel.com                 drivers/raw/ifpga_rawdev/base/opae_hw_api.h       201
yipeng1.wang at intel.com                  lib/librte_member/rte_member_vbf.c                121
zhiyong.yang at intel.com                  drivers/net/vhost/rte_eth_vhost.c                 363


More information about the dev mailing list