From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.kernel.org ([198.145.29.99]:54884 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726020AbeKRAyc (ORCPT ); Sat, 17 Nov 2018 19:54:32 -0500 Date: Sat, 17 Nov 2018 09:37:34 -0500 From: Sasha Levin To: Loic Cc: stable@vger.kernel.org, v.maffione@gmail.com, aaron.f.brown@intel.com, jeffrey.t.kirsher@intel.com Subject: Re: [PATCH] e1000: fix race condition between e1000_down() and e1000_watchdog Message-ID: <20181117143734.GO1706@sasha-vm> References: <20181109141233.e8737d6d77b38bfcd4ed6423@opensec.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20181109141233.e8737d6d77b38bfcd4ed6423@opensec.fr> Sender: stable-owner@vger.kernel.org List-ID: On Fri, Nov 09, 2018 at 02:12:33PM +0100, Loic wrote: >Hello, > >Please picked up this patch for linux 4.4 and 4.9. >Compiled/tested without problem. > >Thank. > >[ Upstream commit 44c445c3d1b4eacff23141fa7977c3b2ec3a45c9 ] > >From: Vincenzo Maffione >Date: Sat, 16 Sep 2017 18:00:00 +0200 >Subject: [PATCH] e1000: fix race condition between e1000_down() and > e1000_watchdog > >This patch fixes a race condition that can result into the interface being >up and carrier on, but with transmits disabled in the hardware. >The bug may show up by repeatedly IFF_DOWN+IFF_UP the interface, which >allows e1000_watchdog() interleave with e1000_down(). > > CPU x CPU y > -------------------------------------------------------------------- > e1000_down(): > netif_carrier_off() > e1000_watchdog(): > if (carrier == off) { > netif_carrier_on(); > enable_hw_transmit(); > } > disable_hw_transmit(); > e1000_watchdog(): > /* carrier on, do nothing */ > >Signed-off-by: Vincenzo Maffione >Tested-by: Aaron Brown >Signed-off-by: Jeff Kirsher Queued for 4.9 and 4.4, thank you. -- Thanks, Sasha