From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id EACCEA04E9 for ; Fri, 29 Nov 2019 18:02:35 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C89C22B96; Fri, 29 Nov 2019 18:02:35 +0100 (CET) Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) by dpdk.org (Postfix) with ESMTP id 8E7AF235 for ; Fri, 29 Nov 2019 18:02:32 +0100 (CET) Received: by mail-pf1-f195.google.com with SMTP id z4so14835591pfn.12 for ; Fri, 29 Nov 2019 09:02:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vedS7PC4iq8q9lDgDz6H1pKieVAt3VawLml6+8z6tCI=; b=gtSMoqzaqz6Y41RErcr6k1mMkU9CTN1LMQ8JRWNJ7yG2NH4hRMcxWnrEUcCSK3aY+e hqFjkyB37AIbI+f0QlXPSUmpW48l1eTTL/+Nzi8caMOP9WfFG0dB/V3xz/UkKb/c6Xo5 ZP3TJICHpTXIzYfWGCF+cbSkDS/jSpay4kH5UMZ6xCYwF22FOVPIClxBnHmNh14yBI3E 9w91TMug4H19awxMgwDLL/oh5I3W0IDa6Q8jM3e3X5rc7v5W1ofXZoiDOEoBGbLayxhQ b2CXLwNDPotSH7y+1n0hrPk2RVzmRk87BldmCSyAgxl+60+28sUSMzO4SMTMkbDrsFA8 tTMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vedS7PC4iq8q9lDgDz6H1pKieVAt3VawLml6+8z6tCI=; b=uDMPBdfDKLovPezwVaAqFGjH2S7TP2y4AfFCajiGCPRPEeRbdP5sb6fUHnm3rR6WBO /ENMZUxSDNtYPZhlX+EBNe4FrlrWAkjl3VBcJ96F538OhK43hk0Wv/+h52SX+5yA9Qf4 VDKKrVEjtjFjHdez2b9H5/snqO5CWeAzZB3L61JipY9XQSx7Mi7CTjckaIC18H/S9gQA kUMv1IXoxhh3rjQqPi80Kab/WzhDEuSw7NpHz+sX8u5x7Ez/ltDFFGXzSz3gjs67i7f4 47zEuLl+57EZTctHY/2DFbuR66xVozdPwq9gZwTQKvL4wCm4PtG2AgOm6goOO/QLz1/D D2Pg== X-Gm-Message-State: APjAAAX6/quvAPfKEbwg6Isx/Nz76thW0c/Z3dTels/LmN+t43VCdPPq wGUo+tb/YYmJndINGUWo4p2ctsszxjOKPA== X-Google-Smtp-Source: APXvYqyHf1YFfbHHqDSybjMnSX+dkBCEyk0VKpiZ5aS8hPcsCROE57Lwe99XCk9BWOKomjojfhw4QQ== X-Received: by 2002:a63:450:: with SMTP id 77mr14713030pge.290.1575046951571; Fri, 29 Nov 2019 09:02:31 -0800 (PST) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id k60sm4905576pjh.22.2019.11.29.09.02.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Nov 2019 09:02:31 -0800 (PST) Date: Fri, 29 Nov 2019 09:02:27 -0800 From: Stephen Hemminger To: David Marchand Cc: dev , dpdk stable Message-ID: <20191129090227.43ce8151@hermes.lan> In-Reply-To: References: <20191127223232.26404-1-stephen@networkplumber.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-stable] [PATCH] eal: fix unitialized data warning X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" On Fri, 29 Nov 2019 09:25:15 +0100 David Marchand wrote: > On Wed, Nov 27, 2019 at 11:32 PM Stephen Hemminger > wrote: > > > > Valgrind reports that eal interrupt thread is calling epoll_ctl > > with uninitialized data. Trivial to fix by initializing it. > > > > Fixes: af75078fece3 ("first public release") > > Cc: stable@dpdk.org > > Signed-off-by: Stephen Hemminger > > --- > > lib/librte_eal/linux/eal/eal_interrupts.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/lib/librte_eal/linux/eal/eal_interrupts.c b/lib/librte_eal/linux/eal/eal_interrupts.c > > index 1955324d3045..2cd537ba4492 100644 > > --- a/lib/librte_eal/linux/eal/eal_interrupts.c > > +++ b/lib/librte_eal/linux/eal/eal_interrupts.c > > @@ -1045,7 +1045,7 @@ eal_intr_handle_interrupts(int pfd, unsigned totalfds) > > static __attribute__((noreturn)) void * > > eal_intr_thread_main(__rte_unused void *arg) > > { > > - struct epoll_event ev; > > + struct epoll_event ev = { }; > > > > /* host thread, never break out */ > > for (;;) { > > typedef union epoll_data > { > void *ptr; > int fd; > uint32_t u32; > uint64_t u64; > } epoll_data_t; > > struct epoll_event > { > uint32_t events; /* Epoll events */ > epoll_data_t data; /* User data variable */ > } __EPOLL_PACKED; > > > static __attribute__((noreturn)) void * > eal_intr_thread_main(__rte_unused void *arg) > { > struct epoll_event ev; > [...] > ev.events = EPOLLIN | EPOLLPRI | EPOLLRDHUP | EPOLLHUP; > ev.data.fd = src->intr_handle.fd; > [...] > if (epoll_ctl(pfd, EPOLL_CTL_ADD, > src->intr_handle.fd, &ev) < 0){ > > So the uninitialised part is because we only set an int in the union. > False positive from valgrind, but the fix is quite simple. > > Acked-by: David Marchand Agreed it is a false positive because the kernel is not going to care about the unused bits in the union. But I wanted to make the application run clean under valgrind. Otherwise, it is hard to find the real warnings in surrounding noise.