[PATCH] net/cnxk: fix error when compiled for x86

Gao, DaxueX daxuex.gao at intel.com
Wed Mar 16 04:32:09 CET 2022


> -----Original Message-----
> From: Jerin Jacob <jerinjacobk at gmail.com>
> Sent: 2022年3月10日 16:49
> To: Jiang, YuX <yux.jiang at intel.com>
> Cc: Rakesh Kudurumalla <rkudurumalla at marvell.com>; Nithin Dabilpuram
> <ndabilpuram at marvell.com>; Kiran Kumar K <kirankumark at marvell.com>;
> Sunil Kumar Kori <skori at marvell.com>; Satha Rao <skoteshwar at marvell.com>;
> dev at dpdk.org; jerinj at marvell.com; stable at dpdk.org; Yigit, Ferruh
> <ferruh.yigit at intel.com>
> Subject: Re: [PATCH] net/cnxk: fix error when compiled for x86
> 
> On Thu, Mar 10, 2022 at 7:06 AM Jiang, YuX <yux.jiang at intel.com> wrote:
> >
> > Hi maintainers,
> >
> > Who can give acked-by for this patch?
> > May I know this patch can be merged into 22.03 or not?
> 
> 
> Acked-by: Jerin Jacob <jerinj at marvell.com> Updated the git commit as follows
> and applied to dpdk-next-net-mrvl/for-next-net. Thanks
> 
>     net/cnxk: fix build error with optimization
> 
>     Fix the following build error seen with --optimization=1 and
>     GCC 10.3.0.
> 
>     ../drivers/net/cnxk/cnxk_ethdev_mtr.c: In function
>     ‘cnxk_nix_mtr_policy_validate’:
>     ../lib/ethdev/rte_mtr_driver.h:188:10: error: ‘str’ may be used
>     uninitialized in this function [-Werror=maybe-uninitialized]
> 
>     ../drivers/net/cnxk/cn10k_rx.h:149:2 error: ‘frag_ptr’ may be
>     used uninitialized in this function
> 
>     Bugzilla ID: 939
>     Fixes: b526599020ef ("net/cnxk: fix build with GCC 12")
>     Cc: stable at dpdk.org
> 
>     Reported-by: Ferruh Yigit <ferruh.yigit at intel.com>
>     Signed-off-by: Rakesh Kudurumalla <rkudurumalla at marvell.com>
>     Tested-by: Daxue Gao <daxuex.gao at intel.com>
>     Acked-by: Jerin Jacob <jerinj at marvell.com>
> 
> 
> >
> > > -----Original Message-----
> > > From: Rakesh Kudurumalla <rkudurumalla at marvell.com>
> > > Sent: 2022年3月4日 22:24
> > > To: Nithin Dabilpuram <ndabilpuram at marvell.com>; Kiran Kumar K
> > > <kirankumark at marvell.com>; Sunil Kumar Kori <skori at marvell.com>;
> > > Satha Rao <skoteshwar at marvell.com>
> > > Cc: dev at dpdk.org; jerinj at marvell.com; Rakesh Kudurumalla
> > > <rkudurumalla at marvell.com>; stable at dpdk.org; Yigit, Ferruh
> > > <ferruh.yigit at intel.com>
> > > Subject: [PATCH] net/cnxk: fix error when compiled for x86
> > >
> > > fix error when compiled for x86 platform when compiled with
> > > optimization flag enabled
> > > error: ‘str’ may be used uninitialized in this function
> > > error: ‘frag_ptr’ may be used uninitialized in this function
> > >
> > > Bugzilla ID: 939
> > > Fixes: b526599020ef ("net/cnxk: fix build with GCC 12")
> > > Cc: stable at dpdk.org
> > >
> > > Reported-by: Ferruh Yigit <ferruh.yigit at intel.com>
> > > Signed-off-by: Rakesh Kudurumalla <rkudurumalla at marvell.com>
> > > ---
[Gao, DaxueX] 

Hi Rakesh, Jacob and All,

This patch http://patchwork.dpdk.org/project/dpdk/patch/20220304142337.911828-1-rkudurumalla@marvell.com/ has been merged to DPDK 22.03 latest main branch.
It can resolve old problem, but introduce new problem, please check your code, thanks.
Notes: RHEL8.4 passed, Ubuntu20.04 failed.

Bad commit: http://git.dpdk.org/dpdk/commit/?id=68f8a52a6b0ad6b77772d4564928aebb21c2ca66
OS: Ubuntu20.04/5.8.0-48-generic
Compiler: gcc (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0

Error info: 
[2302/3456] Compiling C object drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_ifpga_rawdev.c.o
FAILED: drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_ifpga_rawdev.c.o
gcc -Idrivers/libtmp_rte_raw_ifpga.a.p -Idrivers -I../drivers -Idrivers/raw/ifpga -I../drivers/raw/ifpga -Idrivers/raw/ifpga/base -I../drivers/raw/ifpga/base -Idrivers/net/ipn3ke -I../drivers/net/ipn3ke -Idrivers/net/i40e -I../drivers/net/i40e -Ilib/rawdev -I../lib/rawdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Ilib/pci -I../lib/pci -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -Idrivers/bus/vdev -I../drivers/bus/vdev -Idrivers/bus/ifpga -I../drivers/bus/ifpga -Idrivers/net/i40e/base -I../drivers/net/i40e/base -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/sched -I../lib/sched -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -O1 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-zero-length-bounds -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -DRTE_LOG_DEFAULT_LOGTYPE=pmd.raw.ifpga -MD -MQ drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_ifpga_rawdev.c.o -MF drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_ifpga_rawdev.c.o.d -o drivers/libtmp_rte_raw_ifpga.a.p/raw_ifpga_ifpga_rawdev.c.o -c ../drivers/raw/ifpga/ifpga_rawdev.c
../drivers/raw/ifpga/ifpga_rawdev.c: In function ‘ifpga_rawdev_fill_info’:
../drivers/raw/ifpga/ifpga_rawdev.c:314:8: error: ‘vendor_id’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  314 |     if (vendor_id == 0x8086 &&
      |        ^
../drivers/raw/ifpga/ifpga_rawdev.c:316:23: error: ‘dev_id’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  315 |      (dev_id == 0x0CF8 ||
      |      ~~~~~~~~~~~~~~~~~~~~
  316 |      dev_id == 0x0D58 ||
      |      ~~~~~~~~~~~~~~~~~^~
  317 |      dev_id == 0x1580)) {
      |      ~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
[2311/3456] Compiling C object drivers/libtmp_rte_raw_ntb.a.p/raw_ntb_ntb.c.o
ninja: build stopped: subcommand failed.

Best regards,
Daxue Gao


More information about the stable mailing list