> -----Original Message----- > From: Dumitrescu, Cristian <cristian.dumitre...@intel.com> > 发送时间: 2018年12月24日 18:30 > 收件人: Stephen Hemminger <step...@networkplumber.org>; > haiyangtan <haiyang...@tencent.com> > Cc: dev@dpdk.org > Subject: RE: [dpdk-dev] [PATCH] hash: fix possible uninitialized > variable(Internet > mail) > > > > > -----Original Message----- > > From: Stephen Hemminger [mailto:step...@networkplumber.org] > > Sent: Sunday, December 23, 2018 7:44 AM > > To: Haiyang Tan <haiyang...@tencent.com> > > Cc: Dumitrescu, Cristian <cristian.dumitre...@intel.com>; dev@dpdk.org > > Subject: Re: [dpdk-dev] [PATCH] hash: fix possible uninitialized variable > > > > On Sat, 22 Dec 2018 04:10:59 -0800 > > Haiyang Tan <haiyang...@tencent.com> wrote: > > > > > The uninitialized field 'extra_flag' of hash_cuckoo_params may enable > > > certain feature silently. Typically, if bit0 of 'extra_flag' set, the > > > hardware transactional memory support will be enabled unexpectedly. > > > > > > Signed-off-by: Haiyang Tan <haiyang...@tencent.com> > > > > This is not necessary. Structure initializations will fill in the other > > elements with zero. > > > > https://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/Designated-Inits.html > > Omitted field members are implicitly initialized the same as objects that > > have static storage duration. > > Agree with Stephen, this is part of the C language. > > Haiyang, are you experiencing a real issue in your app or is your proposal > triggered purely by code review? > > Haiyang, it seems that the extra_flags was recently added in librte_hash, but > left behind in librte_table. For better readability, I suggest you send a > quick > patch that explicitly initializes the extra_flag with 0, what do you think? > > struct rte_hash_parameters hash_cuckoo_params = { > ... > .extra_flag = 0, > }; > > Regards, > Cristian >
Hi Stephen and Cristian, I have checked C99 standard and get the same conclusion which mentioned in stephen's email, So this patch is unnecessary and please ignore it. BR! Haiyang