From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jia-Ju Bai Subject: Re: [PATCH] net: 8390: Fix possible data races in __ei_get_stats Date: Tue, 8 May 2018 14:47:38 +0800 Message-ID: References: <20180507140809.28847-1-baijiaju1990@gmail.com> <6fe51782-2169-53c8-9bac-1715262e716d@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org To: Eric Dumazet , davem@davemloft.net, fthain@telegraphics.com.au, joe@perches.com Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 2018/5/8 13:04, Eric Dumazet wrote: > > On 05/07/2018 07:16 PM, Jia-Ju Bai wrote: > >> Yes, "&dev->stats" will not change, because it is a fixed address. >> But the field data in "dev->stats" is changed (rx_frame_errors, rx_crc_errors and rx_missed_errors). >> So if the driver returns "&dev->stats" without lock protection (like on line 858), the field data value of this return value can be the changed field data value or unchanged field data value. > > We do not care. > > This function can be called by multiple cpus at the same time. > > As soon as one cpu returns from it, another cpu can happily modify dev->stats.ANYFIELD. > > Your patch fixes nothing at all. > Okay, thanks. I also find that my patch does not work... Best wishes, Jia-Ju Bai