Bug 58 - cppcheck static analyzer warnings
Summary: cppcheck static analyzer warnings
Status: RESOLVED FIXED
Alias: None
Product: DPDK
Classification: Unclassified
Component: core (show other bugs)
Version: 18.05
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: Ferruh YIGIT
URL:
Depends on:
Blocks:
 
Reported: 2018-05-31 13:19 CEST by Ferruh YIGIT
Modified: 2020-04-26 02:46 CEST (History)
3 users (show)



Attachments
19.02 with --enable=all (571.09 KB, text/plain)
2019-02-07 15:00 CET, Ferruh YIGIT
Details
19.05-rc1 results (6.07 KB, text/plain)
2019-04-11 19:41 CEST, Ferruh YIGIT
Details

Description Ferruh YIGIT 2018-05-31 13:19:05 CEST
There was already a mail in mail list to report this issue:
https://dpdk.org/ml/archives/dev/2018-May/101961.html

Some of the issues fixed in v18.05, but some still remain.

Following is the list of the remaining issues:

[app/test-pmd/cmdline_mtr.c:115]: (error) Memory leak: dscp_table
[app/test-pmd/flowgen.c:160]: (error) Uninitialized variable: ol_flags
[app/test-pmd/tm.c:594]: (error) Memory leak: tnp.shared_shaper_id
[drivers/bus/dpaa/base/fman/fman.c:557]: (error) Uninitialized variable: __if
[drivers/bus/dpaa/base/qbman/qman.c:1220]: (error) Address of auto-variable 'p->shadow_dqrr[DQRR_PTR2IDX(dq)]' returned
[drivers/bus/ifpga/ifpga_bus.c:436]: (warning) Possible null pointer dereference: c2
[drivers/crypto/ccp/ccp_pci.c:41]: (error) Resource leak: fp
[drivers/crypto/dpaa_sec/dpaa_sec.c:662]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:731]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:826]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:881]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1020]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1132]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1258]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1353]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1392]: (error) Address of auto-variable 'ctx->job' returned
[drivers/net/avf/base/avf_adminq.c:301]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_adminq.c:336]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_adminq.c:298]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_adminq.c:333]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_common.c:367]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_common.c:364]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_dev.c:808]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_dev.c] -> [drivers/net/axgbe/axgbe_dev.c]: (error) Invalid value: 0x0204_BUSY_WIDTH
[drivers/net/axgbe/axgbe_ethdev.c] -> [drivers/net/axgbe/axgbe_ethdev.c]: (error) Invalid value: 0x0008_PR_WIDTH
[drivers/net/axgbe/axgbe_i2c.c] -> [drivers/net/axgbe/axgbe_i2c.c]: (error) Invalid value: 0x006c_EN_WIDTH
[drivers/net/axgbe/axgbe_phy_impl.c] -> [drivers/net/axgbe/axgbe_phy_impl.c]: (error) Invalid value: 0x0080_ID_WIDTH
[drivers/net/axgbe/axgbe_rxtx.c:292]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_rxtx.c:592]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_rxtx.c] -> [drivers/net/axgbe/axgbe_rxtx.c]: (error) Invalid value: 0x48_PRXQ_WIDTH
[drivers/net/bnx2x/bnx2x.c:3995]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:4000]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:8729]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:9765]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:1042]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:2711]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:9662]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:10295]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_ethdev.c:598]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_ethdev.c:638]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_rxr.c:486]: (error) Uninitialized variable: ag_cons
[drivers/net/bnxt/bnxt_stats.c:211]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_stats.c:248]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2324]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2326]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2333]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2335]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_ich8lan.c:5169]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_ethdev.c:4721]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_pf.c:154]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_pf.c:156]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/enic/base/vnic_dev.c:757]: (warning) Possible null pointer dereference: notify_addr
[drivers/net/i40e/base/i40e_adminq.c:1094]: (error) Uninitialized variable: ntu
[drivers/net/i40e/base/i40e_adminq.c:1149]: (error) Uninitialized variable: ntu
[drivers/net/i40e/base/i40e_adminq.c:1157]: (error) Uninitialized variable: ntu
[drivers/net/i40e/i40e_ethdev.c:2070]: (error) Shifting 32-bit value by 36 bits is undefined behaviour
[drivers/net/i40e/i40e_ethdev.c:2070]: (error) Signed integer overflow for expression '1<<cnt'.
[drivers/net/ixgbe/base/ixgbe_type.h:3651]: (error) syntax error
[drivers/net/mlx4/mlx4_flow.c:253]: (warning) Possible null pointer dereference: mask
[drivers/net/nfp/nfp_net.c:317]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:558]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:565]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:573]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_dev.c:230]: (error) syntax error
[drivers/net/qede/base/ecore_hw.c:74]: (error) syntax error
[drivers/net/qede/base/ecore_init_fw_funcs.c:624]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:628]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:649]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:651]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:685]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:725]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:727]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:935]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:988]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:1743]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_int.c:1038]: (error) Array 'p_aeu->bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1079]: (error) Array 'sb_attn_sw->p_aeu_desc[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1387]: (error) Array 'aeu_descs[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1986]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_int.c:1991]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_l2.c:80]: (error) syntax error
[drivers/net/qede/base/ecore_mcp.c:253]: (error) syntax error
[drivers/net/qede/base/ecore_mng_tlv.c:1458]: (error) failed to expand 'OSAL_WARN', Wrong number of parameters for macro 'OSAL_WARN'.
[drivers/net/qede/base/ecore_spq.c:590]: (error) syntax error
[drivers/net/sfc/base/efx_ev.c:158]: (error) Uninitialized variable: eevop
[drivers/net/sfc/base/efx_ev.c:161]: (error) Uninitialized variable: eevop
[drivers/net/sfc/base/efx_intr.c:147]: (error) Uninitialized variable: eiop
[drivers/net/sfc/base/efx_intr.c:150]: (error) Uninitialized variable: eiop
[drivers/net/sfc/base/efx_mac.c:870]: (error) Uninitialized variable: emop
[drivers/net/sfc/base/efx_mon.c:82]: (error) Uninitialized variable: emop
[drivers/net/sfc/base/efx_phy.c:94]: (error) Uninitialized variable: epop
[drivers/net/sfc/base/efx_rx.c:235]: (error) Uninitialized variable: erxop
[drivers/net/sfc/base/efx_rx.c:238]: (error) Uninitialized variable: erxop
[drivers/net/sfc/base/efx_tx.c:262]: (error) Uninitialized variable: etxop
[drivers/net/sfc/base/efx_tx.c:265]: (error) Uninitialized variable: etxop
[drivers/net/softnic/rte_eth_softnic_tm.c:2450]: (error) syntax error
[drivers/net/tap/tap_bpf_program.c:109]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/tap/tap_netlink.c:233]: (warning) Possible null pointer dereference: data
[drivers/net/tap/tap_tcmsgs.c:127]: (error) Uninitialized variable: opt
[examples/bbdev_app/main.c:597]: (error) Memory pointed to by 'xstats' is freed twice.
[examples/bbdev_app/main.c:604]: (error) Memory pointed to by 'xstats' is freed twice.
[examples/flow_filtering/main.c:237]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)'.
[examples/flow_filtering/main.c:237]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)'.
[examples/flow_filtering/main.c:237]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)+1'.
[examples/vhost/main.c:388]: (error) Common realloc mistake: 'socket_files' nulled but not freed upon failure
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2270]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2272]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2279]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2281]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c:1487]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_acl/acl_gen.c:166]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_eal/common/rte_reciprocal.c:105]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_eal/common/rte_service.c:750]: (warning) Possible null pointer dereference: f
[lib/librte_eal/linuxapp/eal/eal_interrupts.c:423]: (error) syntax error
[lib/librte_eal/linuxapp/eal/eal_memory.c:79]: (error) Uninitialized variable: tmp
[lib/librte_eal/linuxapp/eal/eal_vfio.c:1803]: (error) Uninitialized variable: cur_grp
[lib/librte_net/rte_net_crc.c:72]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_vhost/vdpa.c:74]: (error, inconclusive) Array 'vdpa_devices[1024]' accessed at index 1024, which is out of bounds.
[test/test/test_reorder.c:272]: (error) Array 'robufs[8]' accessed at index 8, which is out of bounds.
Comment 1 Anatoly Burakov 2018-06-01 11:10:03 CEST
> [lib/librte_eal/linuxapp/eal/eal_interrupts.c:423]: (error) syntax error

Missing parentheses, but *technically* (cue xkcd) valid syntax after macro expansion, since macro will add those.

> [lib/librte_eal/linuxapp/eal/eal_memory.c:79]: (error) Uninitialized
> variable: tmp

Variable value is unused, so false positive.

> [lib/librte_eal/linuxapp/eal/eal_vfio.c:1803]: (error) Uninitialized
> variable:
> cur_grp

False positive, because code is never reached if cur_grp value is not set.

Still, no harm in fixing these warnings, so i submitted a patches for all three:

http://dpdk.org/dev/patchwork/patch/40564/
http://dpdk.org/dev/patchwork/patch/40566/
http://dpdk.org/dev/patchwork/patch/40565/
Comment 2 Ajit Khaparde 2018-07-13 19:39:38 CEST
Ferruh,
The patches in the previous comment seem to have been accepted.
Can we close this bug? Or there is more to be done?

Thanks
Comment 3 Anatoly Burakov 2018-07-16 10:40:54 CEST
@Ajit

No, there's more to be done. I've only fixed the ones i've highlighted - there's a lot more stuff in there.
Comment 4 Ferruh YIGIT 2018-07-17 12:01:07 CEST
@Ajit, @Anatoly,

As Anatoly said there are more issues higlighted by cppcheck, although some are fixed.

I will share cppcheck results with latest code.
Comment 5 Ferruh YIGIT 2018-07-17 12:04:10 CEST
On 18.08-rc1, with command: cppcheck --force . 2> cppcheck_error.txt


[app/test-pmd/cmdline_mtr.c:115]: (error) Memory leak: dscp_table
[app/test-pmd/flowgen.c:160]: (error) Uninitialized variable: ol_flags
[app/test-pmd/softnicfwd.c:464]: (error) Memory leak: tnp.shared_shaper_id
[drivers/bus/dpaa/base/fman/fman.c:557]: (error) Uninitialized variable: __if
[drivers/bus/dpaa/base/qbman/qman.c:1219]: (error) Address of auto-variable 'p->shadow_dqrr[DQRR_PTR2IDX(dq)]' returned                                                                      
[drivers/bus/ifpga/ifpga_bus.c:436]: (warning) Possible null pointer dereference: c2
[drivers/bus/pci/linux/pci_uio.c:299]: (error) Uninitialized variable: devname
[drivers/crypto/ccp/ccp_pci.c:41]: (error) Resource leak: fp
[drivers/crypto/dpaa_sec/dpaa_sec.c:675]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:744]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:839]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:894]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1033]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1145]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1271]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1366]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1405]: (error) Address of auto-variable 'ctx->job' returned
[drivers/net/avf/base/avf_adminq.c:301]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_adminq.c:336]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_adminq.c:298]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_adminq.c:333]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_common.c:367]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_common.c:364]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_dev.c:808]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_dev.c] -> [drivers/net/axgbe/axgbe_dev.c]: (error) Invalid value: 0x0204_BUSY_WIDTH
[drivers/net/axgbe/axgbe_ethdev.c] -> [drivers/net/axgbe/axgbe_ethdev.c]: (error) Invalid value: 0x0008_PR_WIDTH
[drivers/net/axgbe/axgbe_i2c.c] -> [drivers/net/axgbe/axgbe_i2c.c]: (error) Invalid value: 0x006c_EN_WIDTH
[drivers/net/axgbe/axgbe_phy_impl.c] -> [drivers/net/axgbe/axgbe_phy_impl.c]: (error) Invalid value: 0x0080_ID_WIDTH
[drivers/net/axgbe/axgbe_rxtx.c:294]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_rxtx.c:592]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_rxtx.c] -> [drivers/net/axgbe/axgbe_rxtx.c]: (error) Invalid value: 0x48_PRXQ_WIDTH
[drivers/net/bnx2x/bnx2x.c:3995]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:4000]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:8729]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:9765]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:1042]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:2711]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:9662]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:10295]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_ethdev.c:637]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_ethdev.c:677]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_rxr.c:486]: (error) Uninitialized variable: ag_cons
[drivers/net/bnxt/bnxt_stats.c:211]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_stats.c:248]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_txr.c:298]: (error) Uninitialized variable: txbd1
[drivers/net/e1000/base/e1000_82575.c:2324]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2326]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2333]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2335]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_ich8lan.c:5169]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_ethdev.c:4724]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_pf.c:154]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_pf.c:156]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/enic/base/vnic_dev.c:773]: (warning) Possible null pointer dereference: notify_addr
[drivers/net/i40e/base/i40e_adminq.c:1094]: (error) Uninitialized variable: ntu
[drivers/net/i40e/base/i40e_adminq.c:1149]: (error) Uninitialized variable: ntu
[drivers/net/i40e/base/i40e_adminq.c:1157]: (error) Uninitialized variable: ntu
[drivers/net/ixgbe/base/ixgbe_type.h:3651]: (error) syntax error
[drivers/net/mlx4/mlx4_flow.c:253]: (warning) Possible null pointer dereference: mask
[drivers/net/mlx5/mlx5_flow.c:2448]: (warning) Possible null pointer dereference: flow
[drivers/net/mlx5/mlx5_flow.c:2449]: (warning) Possible null pointer dereference: flow
[drivers/net/mlx5/mlx5_flow.c:2450]: (warning) Possible null pointer dereference: flow
[drivers/net/mlx5/mlx5_flow.c:2531]: (warning) Possible null pointer dereference: flow
[drivers/net/netvsc/hn_rndis.c:462]: (warning) Possible null pointer dereference: idata
[drivers/net/nfp/nfp_net.c:317]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:560]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:567]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:575]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_dev.c:230]: (error) syntax error
[drivers/net/qede/base/ecore_hw.c:74]: (error) syntax error
[drivers/net/qede/base/ecore_init_fw_funcs.c:624]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:628]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:649]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:651]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:685]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:725]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:727]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:935]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:988]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:1743]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_int.c:1038]: (error) Array 'p_aeu->bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1079]: (error) Array 'sb_attn_sw->p_aeu_desc[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1387]: (error) Array 'aeu_descs[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1986]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_int.c:1991]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_l2.c:80]: (error) syntax error
[drivers/net/qede/base/ecore_mcp.c:253]: (error) syntax error
[drivers/net/qede/base/ecore_mng_tlv.c:1458]: (error) failed to expand 'OSAL_WARN', Wrong number of parameters for macro 'OSAL_WARN'.
[drivers/net/qede/base/ecore_spq.c:590]: (error) syntax error
[drivers/net/sfc/base/efx_ev.c:158]: (error) Uninitialized variable: eevop
[drivers/net/sfc/base/efx_ev.c:161]: (error) Uninitialized variable: eevop
[drivers/net/sfc/base/efx_intr.c:147]: (error) Uninitialized variable: eiop
[drivers/net/sfc/base/efx_intr.c:150]: (error) Uninitialized variable: eiop
[drivers/net/sfc/base/efx_mac.c:870]: (error) Uninitialized variable: emop
[drivers/net/sfc/base/efx_mon.c:82]: (error) Uninitialized variable: emop
[drivers/net/sfc/base/efx_phy.c:94]: (error) Uninitialized variable: epop
[drivers/net/sfc/base/efx_rx.c:235]: (error) Uninitialized variable: erxop
[drivers/net/sfc/base/efx_rx.c:238]: (error) Uninitialized variable: erxop
[drivers/net/sfc/base/efx_tx.c:262]: (error) Uninitialized variable: etxop
[drivers/net/sfc/base/efx_tx.c:265]: (error) Uninitialized variable: etxop
[drivers/net/softnic/rte_eth_softnic_tm.c:2459]: (error) syntax error
[drivers/net/tap/tap_bpf_program.c:109]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/tap/tap_netlink.c:233]: (warning) Possible null pointer dereference: data
[drivers/net/tap/tap_tcmsgs.c:127]: (error) Uninitialized variable: opt
[examples/bbdev_app/main.c:593]: (error) Memory pointed to by 'xstats' is freed twice.
[examples/bbdev_app/main.c:600]: (error) Memory pointed to by 'xstats' is freed twice.
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)'.
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)'.
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)+1'.
[examples/vhost/main.c:386]: (error) Common realloc mistake: 'socket_files' nulled but not freed upon failure
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2270]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2272]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2279]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2281]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c:1487]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_acl/acl_gen.c:166]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_eal/common/rte_reciprocal.c:105]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_eal/common/rte_service.c:798]: (warning) Possible null pointer dereference: f
[lib/librte_net/rte_net_crc.c:72]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_vhost/vdpa.c:74]: (error, inconclusive) Array 'vdpa_devices[1024]' accessed at index 1024, which is out of bounds.
[test/test/test_reorder.c:272]: (error) Array 'robufs[8]' accessed at index 8, which is out of bounds.
Comment 6 Ferruh YIGIT 2018-09-25 18:49:37 CEST
with v18.08-115-g55d6bb67c
cppcheck --force . 2> cppcheck_error.txt

[app/test-pmd/cmdline_mtr.c:115]: (error) Memory leak: dscp_table
[app/test-pmd/flowgen.c:160]: (error) Uninitialized variable: ol_flags
[app/test-pmd/softnicfwd.c:461]: (error) Memory leak: tnp.shared_shaper_id
[drivers/bus/dpaa/base/fman/fman.c:557]: (error) Uninitialized variable: __if
[drivers/bus/dpaa/base/qbman/qman.c:1219]: (error) Address of auto-variable 'p->shadow_dqrr[DQRR_PTR2IDX(dq)]' returned
[drivers/bus/ifpga/ifpga_bus.c:436]: (warning) Possible null pointer dereference: c2
[drivers/bus/pci/linux/pci_uio.c:299]: (error) Uninitialized variable: devname
[drivers/crypto/ccp/ccp_pci.c:41]: (error) Resource leak: fp
[drivers/crypto/dpaa_sec/dpaa_sec.c:675]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:744]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:839]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:894]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1033]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1145]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1271]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1366]: (error) Address of auto-variable 'ctx->job' returned
[drivers/crypto/dpaa_sec/dpaa_sec.c:1405]: (error) Address of auto-variable 'ctx->job' returned
[drivers/net/avf/base/avf_adminq.c:301]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_adminq.c:336]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_adminq.c:298]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_adminq.c:333]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_common.c:367]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/avf/base/avf_common.c:364]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_dev.c:808]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_dev.c] -> [drivers/net/axgbe/axgbe_dev.c]: (error) Invalid value: 0x0204_BUSY_WIDTH
[drivers/net/axgbe/axgbe_ethdev.c] -> [drivers/net/axgbe/axgbe_ethdev.c]: (error) Invalid value: 0x0008_PR_WIDTH
[drivers/net/axgbe/axgbe_i2c.c] -> [drivers/net/axgbe/axgbe_i2c.c]: (error) Invalid value: 0x006c_EN_WIDTH
[drivers/net/axgbe/axgbe_phy_impl.c] -> [drivers/net/axgbe/axgbe_phy_impl.c]: (error) Invalid value: 0x0080_ID_WIDTH
[drivers/net/axgbe/axgbe_rxtx.c:294]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_rxtx.c:592]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_rxtx.c] -> [drivers/net/axgbe/axgbe_rxtx.c]: (error) Invalid value: 0x48_PRXQ_WIDTH
[drivers/net/bnx2x/bnx2x.c:3989]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:3994]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:8711]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:9747]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:1040]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:2709]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:9660]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:10293]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_ethdev.c:636]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_ethdev.c:676]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_rxr.c:486]: (error) Uninitialized variable: ag_cons
[drivers/net/bnxt/bnxt_stats.c:211]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_stats.c:248]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_txr.c:298]: (error) Uninitialized variable: txbd1
[drivers/net/cxgbe/base/t4_hw.c:4249]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2324]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2326]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2333]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2335]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_ich8lan.c:5169]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_ethdev.c:4724]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_pf.c:154]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_pf.c:156]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/enic/base/vnic_dev.c:773]: (warning) Possible null pointer dereference: notify_addr
[drivers/net/i40e/base/i40e_adminq.c:1094]: (error) Uninitialized variable: ntu
[drivers/net/i40e/base/i40e_adminq.c:1149]: (error) Uninitialized variable: ntu
[drivers/net/i40e/base/i40e_adminq.c:1157]: (error) Uninitialized variable: ntu
[drivers/net/ixgbe/base/ixgbe_type.h:3651]: (error) syntax error
[drivers/net/mlx4/mlx4_flow.c:253]: (warning) Possible null pointer dereference: mask
[drivers/net/mlx5/mlx5_flow.c:2623]: (warning) Possible null pointer dereference: flow
[drivers/net/mlx5/mlx5_flow.c:2624]: (warning) Possible null pointer dereference: flow
[drivers/net/mlx5/mlx5_flow.c:2625]: (warning) Possible null pointer dereference: flow
[drivers/net/mlx5/mlx5_flow.c:2706]: (warning) Possible null pointer dereference: flow
[drivers/net/netvsc/hn_rndis.c:467]: (warning) Possible null pointer dereference: idata
[drivers/net/nfp/nfp_net.c:317]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:554]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:561]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:569]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:2882]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_dev.c:228]: (error) syntax error
[drivers/net/qede/base/ecore_hw.c:72]: (error) syntax error
[drivers/net/qede/base/ecore_init_fw_funcs.c:622]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:626]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:647]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:649]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:683]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:723]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:725]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:933]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:986]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:1741]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_int.c:1040]: (error) Array 'p_aeu->bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1081]: (error) Array 'sb_attn_sw->p_aeu_desc[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1389]: (error) Array 'aeu_descs[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1988]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_int.c:1993]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_l2.c:78]: (error) syntax error
[drivers/net/qede/base/ecore_mcp.c:251]: (error) syntax error
[drivers/net/qede/base/ecore_mng_tlv.c:1456]: (error) failed to expand 'OSAL_WARN', Wrong number of parameters for macro 'OSAL_WARN'.
[drivers/net/qede/base/ecore_spq.c:588]: (error) syntax error
[drivers/net/sfc/base/efx_ev.c:158]: (error) Uninitialized variable: eevop
[drivers/net/sfc/base/efx_ev.c:161]: (error) Uninitialized variable: eevop
[drivers/net/sfc/base/efx_intr.c:147]: (error) Uninitialized variable: eiop
[drivers/net/sfc/base/efx_intr.c:150]: (error) Uninitialized variable: eiop
[drivers/net/sfc/base/efx_mac.c:870]: (error) Uninitialized variable: emop
[drivers/net/sfc/base/efx_mon.c:82]: (error) Uninitialized variable: emop
[drivers/net/sfc/base/efx_phy.c:94]: (error) Uninitialized variable: epop
[drivers/net/sfc/base/efx_rx.c:235]: (error) Uninitialized variable: erxop
[drivers/net/sfc/base/efx_rx.c:238]: (error) Uninitialized variable: erxop
[drivers/net/sfc/base/efx_tx.c:262]: (error) Uninitialized variable: etxop
[drivers/net/sfc/base/efx_tx.c:265]: (error) Uninitialized variable: etxop
[drivers/net/softnic/rte_eth_softnic_tm.c:2429]: (error) syntax error
[drivers/net/tap/tap_bpf_program.c:109]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/tap/tap_netlink.c:233]: (warning) Possible null pointer dereference: data
[drivers/net/tap/tap_tcmsgs.c:127]: (error) Uninitialized variable: opt
[examples/bbdev_app/main.c:592]: (error) Memory pointed to by 'xstats' is freed twice.
[examples/bbdev_app/main.c:599]: (error) Memory pointed to by 'xstats' is freed twice.
[examples/flow_filtering/main.c:251]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)'.
[examples/flow_filtering/main.c:251]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)'.
[examples/flow_filtering/main.c:251]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)+1'.
[examples/vhost/main.c:382]: (error) Common realloc mistake: 'socket_files' nulled but not freed upon failure
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2270]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2272]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2279]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2281]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c:1487]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_acl/acl_gen.c:166]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_eal/common/rte_reciprocal.c:105]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_eal/common/rte_service.c:798]: (warning) Possible null pointer dereference: f
[lib/librte_net/rte_net_crc.c:72]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_vhost/vdpa.c:74]: (error, inconclusive) Array 'vdpa_devices[1024]' accessed at index 1024, which is out of bounds.
[test/test/test_reorder.c:272]: (error) Array 'robufs[8]' accessed at index 8, which is out of bounds.
Comment 7 Andrew Rybchenko 2018-09-26 08:49:34 CEST
(In reply to Ferruh YIGIT from comment #6)
> with v18.08-115-g55d6bb67c
> cppcheck --force . 2> cppcheck_error.txt
... 
> [drivers/net/sfc/base/efx_ev.c:158]: (error) Uninitialized variable: eevop
> [drivers/net/sfc/base/efx_ev.c:161]: (error) Uninitialized variable: eevop
> [drivers/net/sfc/base/efx_intr.c:147]: (error) Uninitialized variable: eiop
> [drivers/net/sfc/base/efx_intr.c:150]: (error) Uninitialized variable: eiop
> [drivers/net/sfc/base/efx_mac.c:870]: (error) Uninitialized variable: emop
> [drivers/net/sfc/base/efx_mon.c:82]: (error) Uninitialized variable: emop
> [drivers/net/sfc/base/efx_phy.c:94]: (error) Uninitialized variable: epop
> [drivers/net/sfc/base/efx_rx.c:235]: (error) Uninitialized variable: erxop
> [drivers/net/sfc/base/efx_rx.c:238]: (error) Uninitialized variable: erxop
> [drivers/net/sfc/base/efx_tx.c:262]: (error) Uninitialized variable: etxop
> [drivers/net/sfc/base/efx_tx.c:265]: (error) Uninitialized variable: etxop

All sfc errors are false and pretty trivial (default case has goto and non-default cases set corresponding variable).
Comment 8 Ferruh YIGIT 2018-11-06 16:49:59 CET
On 18.08-rc2, with command: cppcheck --force . 2> cppcheck_error.txt

output processed and removed know false positives and ones has already patch for it, removed "syntax error" (not sure what it is), grouped shifting 31, 32 times shift errors.

[drivers/bus/dpaa/base/fman/fman.c:558]: (error) Uninitialized variable: __if
[drivers/bus/dpaa/base/qbman/qman.c:1266]: (error) Address of auto-variable 'p->shadow_dqrr[DQRR_PTR2IDX(dq)]' returned
[drivers/bus/ifpga/ifpga_bus.c:433]: (warning) Possible null pointer dereference: c2
[drivers/bus/pci/linux/pci_uio.c:299]: (error) Uninitialized variable: devname
[drivers/net/enic/base/vnic_dev.c:807]: (warning) Possible null pointer dereference: notify_addr
[drivers/net/mlx4/mlx4_flow.c:253]: (warning) Possible null pointer dereference: mask
[drivers/net/mlx4/mlx4_utils.c:80]: (error) Pointer addition with NULL pointer.
[drivers/net/netvsc/hn_rndis.c:467]: (warning) Possible null pointer dereference: idata
[drivers/net/qede/base/ecore_int.c:1055]: (error) Array 'p_aeu->bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1096]: (error) Array 'sb_attn_sw->p_aeu_desc[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1405]: (error) Array 'aeu_descs[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_mng_tlv.c:1456]: (error) failed to expand 'OSAL_WARN', Wrong number of parameters for macro 'OSAL_WARN'.
[drivers/net/tap/tap_netlink.c:233]: (warning) Possible null pointer dereference: data
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)'.
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)'.
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)+1'.
[examples/vhost/main.c:382]: (error) Common realloc mistake: 'socket_files' nulled but not freed upon failure
[test/test/test_reorder.c:272]: (error) Array 'robufs[8]' accessed at index 8, which is out of bounds.

[drivers/net/axgbe/axgbe_dev.c:808]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_rxtx.c:294]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_rxtx.c:592]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:4015]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:4020]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:8771]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:9808]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:1073]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:3791]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:11399]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:12083]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_ethdev.c:655]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_ethdev.c:695]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_stats.c:355]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_stats.c:392]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/cxgbe/base/t4_hw.c:4249]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2324]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2326]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2333]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2335]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_ich8lan.c:5169]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_ethdev.c:4747]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_pf.c:154]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_pf.c:156]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:317]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:554]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:561]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:569]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:2911]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:622]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:626]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:647]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:649]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:683]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:723]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:725]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:933]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:986]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:1744]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_int.c:2006]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_int.c:2011]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/tap/tap_bpf_program.c:109]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2270]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2272]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2279]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2281]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c:1337]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c:1487]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_eal/common/rte_reciprocal.c:105]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/softnic/rte_eth_softnic_flow.c:582]: (error) Shifting 32-bit value by 32 bits is undefined behaviour
Comment 9 Ferruh YIGIT 2019-01-23 11:25:24 CET
Some of the warnings already fixed. Need to run a new test with 19.02 release.
Comment 10 Ferruh YIGIT 2019-02-07 15:00:41 CET
Created attachment 30 [details]
19.02 with --enable=all

This has all warnings, some of them are improvements, so adding this as additional resource.
Comment 11 Ferruh YIGIT 2019-02-07 15:18:18 CET
On 19.02, with command: cppcheck --force . 2> cppcheck_error.txt

output processed and removed know false positives and ones has already patch for it, removed "syntax error" (not sure what it is), grouped shifting 31, 32 times shift errors.

Whole text with all level of chekck enabled is also attached, https://bugs.dpdk.org/attachment.cgi?id=30



[drivers/bus/dpaa/base/fman/fman.c:558]: (error) Uninitialized variable: __if
[drivers/bus/ifpga/ifpga_bus.c:438]: (warning) Possible null pointer dereference: c2
[drivers/net/enic/base/vnic_dev.c:833]: (warning) Possible null pointer dereference: notify_addr
[drivers/net/mlx4/mlx4_utils.c:80]: (error) Pointer addition with NULL pointer.
[drivers/net/mvpp2/mrvl_ethdev.c:184]: (warning) Possible null pointer dereference: buf
[drivers/net/netvsc/hn_rndis.c:467]: (warning) Possible null pointer dereference: idata
[drivers/net/qede/base/ecore_int.c:1055]: (error) Array 'p_aeu->bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1096]: (error) Array 'sb_attn_sw->p_aeu_desc[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1405]: (error) Array 'aeu_descs[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_mng_tlv.c:1456]: (error) failed to expand 'OSAL_WARN', Wrong number of parameters for macro 'OSAL_WARN'.
[drivers/net/sfc/sfc_ef10_essb_rx.c:611]: (error) Address of local auto-variable assigned to a function parameter.
[drivers/net/sfc/sfc_ef10_rx.c:656]: (error) Address of local auto-variable assigned to a function parameter.
[drivers/net/sfc/sfc_ef10_tx.c:858]: (error) Address of local auto-variable assigned to a function parameter.
[drivers/net/sfc/sfc_rx.c:435]: (error) Address of local auto-variable assigned to a function parameter.
[drivers/net/sfc/sfc_tx.c:940]: (error) Address of local auto-variable assigned to a function parameter.
[drivers/net/tap/tap_netlink.c:236]: (warning) Possible null pointer dereference: data
[examples/bbdev_app/main.c:592]: (error) Memory pointed to by 'xstats' is freed twice.
[examples/bbdev_app/main.c:599]: (error) Memory pointed to by 'xstats' is freed twice.
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)'.
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)'.
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)+1'.
[test/test/test_latencystats.c:84]: (error) Array 'lat_stats_strings[4]' accessed at index 4, which is out of bounds.
[test/test/test_latencystats.c:84]: (error) Array 'names[4]' accessed at index 4, which is out of bounds.

[drivers/net/axgbe/axgbe_dev.c:808]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_rxtx.c:294]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/axgbe/axgbe_rxtx.c:592]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:4023]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:4028]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:8781]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/bnx2x.c:9823]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:1073]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:3791]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:11399]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnx2x/elink.c:12083]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_ethdev.c:655]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_ethdev.c:695]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_stats.c:355]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/bnxt/bnxt_stats.c:392]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/cxgbe/base/t4_hw.c:4249]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2324]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2326]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2333]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_82575.c:2335]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/base/e1000_ich8lan.c:5169]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_ethdev.c:4770]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_pf.c:154]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/e1000/igb_pf.c:156]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:326]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:563]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:570]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:578]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/nfp/nfp_net.c:2930]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:622]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:626]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:647]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:649]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:683]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:723]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:725]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:933]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:986]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_init_fw_funcs.c:1744]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_int.c:2006]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/qede/base/ecore_int.c:2011]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[drivers/net/softnic/rte_eth_softnic_flow.c:582]: (error) Shifting 32-bit value by 32 bits is undefined behaviour
[drivers/net/tap/tap_bpf_program.c:109]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2270]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2272]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2279]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2281]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c:1337]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c:1487]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_eal/common/rte_reciprocal.c:90]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[test/test/test_bpf.c:286]: (error) Shifting 32-bit value by 32 bits is undefined behaviour
Comment 12 Ferruh YIGIT 2019-04-11 19:41:54 CEST
Created attachment 38 [details]
19.05-rc1 results
Comment 13 Ferruh YIGIT 2019-04-11 19:48:25 CEST
with v19.05-rc1, cppcheck --force . 2> cppcheck_error.txt, attached output.

The filtered version of outstanding issues:
[app/test/test_latencystats.c:84]: (error) Array 'lat_stats_strings[4]' accessed at index 4, which is out of bounds.
[app/test/test_latencystats.c:84]: (error) Array 'names[4]' accessed at index 4, which is out of bounds.
[drivers/bus/dpaa/base/fman/fman.c:559]: (error) Uninitialized variable: __if
[drivers/bus/ifpga/ifpga_bus.c:438]: (warning) Possible null pointer dereference: c2
[drivers/net/i40e/base/i40e_adminq.c:1078]: (error) Uninitialized variable: ntu
[drivers/net/mlx4/mlx4_utils.c:80]: (error) Pointer addition with NULL pointer.
[drivers/net/qede/base/ecore_int.c:1055]: (error) Array 'p_aeu->bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1096]: (error) Array 'sb_attn_sw->p_aeu_desc[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_int.c:1405]: (error) Array 'aeu_descs[i].bits[32]' accessed at index 9998, which is out of bounds.
[drivers/net/qede/base/ecore_mng_tlv.c:1456]: (error) failed to expand 'OSAL_WARN', Wrong number of parameters for macro 'OSAL_WARN'.
[drivers/net/sfc/sfc_ef10_essb_rx.c:612]: (error) Address of local auto-variable assigned to a function parameter.
[drivers/net/sfc/sfc_ef10_rx.c:657]: (error) Address of local auto-variable assigned to a function parameter.
[drivers/net/sfc/sfc_ef10_tx.c:962]: (error) Address of local auto-variable assigned to a function parameter.
[drivers/net/sfc/sfc_rx.c:464]: (error) Address of local auto-variable assigned to a function parameter.
[drivers/net/sfc/sfc_tx.c:1031]: (error) Address of local auto-variable assigned to a function parameter.
[examples/bbdev_app/main.c:592]: (error) Memory pointed to by 'xstats' is freed twice.
[examples/bbdev_app/main.c:599]: (error) Memory pointed to by 'xstats' is freed twice.
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)'.
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)'.
[examples/flow_filtering/main.c:236]: (error) Signed integer overflow for expression '(192<<24)+(168<<16)+(1<<8)+1'.
[lib/librte_power/power_pstate_cpufreq.c:203]: (error) Resource leak: f_base
[lib/librte_power/power_pstate_cpufreq.c:222]: (error) Resource leak: f_base
[drivers/net/enic/base/vnic_dev.c:852] -> [drivers/net/enic/base/vnic_dev.c:871] -> [drivers/net/enic/base/vnic_dev.c:833]: (error) Null pointer dereference: notify_addr
[drivers/net/tap/tap_netlink.c:314] -> [drivers/net/tap/tap_netlink.c:236]: (error) Null pointer dereference: data

[kernel/linux/kni/ethtool/igb/e1000_82575.c:2270]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2272]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2279]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/igb/e1000_82575.c:2281]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c:1337]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[kernel/linux/kni/ethtool/ixgbe/ixgbe_82599.c:1487]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[lib/librte_eal/common/rte_reciprocal.c:90]: (error) Shifting signed 32-bit value by 31 bits is undefined behaviour
[app/test/test_bpf.c:286]: (error) Shifting 32-bit value by 32 bits is undefined behaviour
[drivers/net/softnic/rte_eth_softnic_flow.c:582]: (error) Shifting 32-bit value by 32 bits is undefined behaviour
Comment 14 Thomas Monjalon 2020-04-26 02:46:30 CEST
Resolved in http://git.dpdk.org/dpdk/commit/?id=902f389f9b

Note You need to log in before you can comment on or make changes to this bug.